/****************************************************************************
* note Copyright (c) 2018-2020 ECARX
* File: C0_EXAMPLE.h
* Author: ecarx
* Brief:  this file includes all the id and structure used between mcu and bsp
* Function List: 
* History:
        20180731 : add DIAG,ATE structure definition, rewrite bit variable
                   structure definition.   Related File -<<ecp_draft_v1.0.2>>
        20180809 : 1)transfer u32 a to u8 a[4]
                   2)delete C1ID_AC and C1ID_VehicleSet. rename C2ID_AC, C2ID_VehicleSet
                   3)change aLampSet[8] to aLampSet
                   4)change uitn32 Longitude to Type_uByte Longitude[4] 
                   5)avs_ipk member modified: data -> day
                   6)add DeviceWarn function with ID:C1ID_DeviceWarn
        20170816 : 1)add Heart(0x020303) ID.
				   2)modify DeviceInfo ID.
		20180831 : 1)update the document to v1.0.7		 
				   2)st_avs_TboxConfg_type
        20180906 : 1)update the document to v1.0.8       
                   2)add IpkSkinMode
        20180917 : 1)update the document to v1.0.9
                   2)modify the definition of st_avs_AtmoLamp_type
	    20180920 : 1)modify 3.7.1 powerSta data structure. 
				   2)update the document to v1.1.0
	    20181007 : 1)modify 4.6.1 Hub interface,add avsGet, vasSet.
	               2)add 3.9.3 steering wheel control work mode.
	    20181022 : 1)modify 4.6.1 hub avset, add hub avget,vaset
				   2)modify 4.4, add bsd source
				   3)add 3.9.3 swc control right info
				   4)modify 4.6.1,Usb Charge add close commend
				   5)modify 4.6.1, add hub status NotAttached,Attached,
				   6)modify 4.2 wifi mac addr,add vasSet.
	    20181024 : 1)add 4.4.3 DispalySet.
	               2)add 4.10 vas definition.
		20181226 : 1)add 4.4.1 Backlight_LevelSet
				   2)add 3.5.3 FrontWarningType
				   3)add 3.7.2 STOP_START_Switch and SwtichDrvieMode and IboosterMode
				   4)add 3.7.1 EmsAmbientPressure
				   5)add 3.3.1 ipkLanguageSet
	    20190107 : 1)add 3.9.4 definition of BcmCustomSwitch;
	               2)add 3.11.1 ADAS setting;
	               3)add 3.7.2 definition of ESC switch/AutoHold switch;
		20190218 : 1)add 4.3.4 definition of MpuRecoveryCmd;
	    20190301 : 1)add 4.7 DrInstantSpeed;
		20190105 : 1)modify 3.5.3 Radar WarningType 
		           2)add 4.2 DeviceInfo vaFunGet
		20190403 : 1)modify ATE 6.11
                   2)modify ATE 6.29
                   3)ADD ATE 6.56
				   4)ADD ATE 6.57	
		20190517 : 1)ADD IPK fuel resistor 3.3.7
		           2)ADD definition of Rollshade	
		20190529 : 1)add 1.3.3 TCU_OvertempLevel
				   2)add 1.A.1 AtmosphereLampBreathMode Swith
				   3)add 1.A.1 AtmosphereLampColorValue(R/G/B)
				   4)add st_vas_VoiceSetCmd_type
				   5)add 3.3.1 DrivingRank
		20190611 : 1)add 1.A.1 CorrelateWithDriveModeSwitch
				   2)add 1.B.3 st_avs_SwcWorkSts_type
				   3)alter 1.11.3 BSD_SystemSts->RSRS_SystemSts, BSD_ActiveSts->RSRS_LCA_ActiveSts
		20190701 : 1)modify 04380000 st_avs_Rd_GpsSysChk_type,04320000 st_vas_Wr_NaviUpdate_type
		20190705 : 1)add 3.11.1 RSRS_RCTA_WarningLeft and RSRS_RCTA_WarningRight
		           2)add 3.7.1 EMS_SSMStatus
		
* ----------------------------------------------------------------------------
* Version: V1.2.2
* Date: 2019/07/05
******************************************************************************/
#ifndef _ECP_INCLUDES_EXT_H_
#define _ECP_INCLUDES_EXT_H_

/*****************************************************************************
* Project Includes *
*****************************************************************************/
#include "Ecp_includes.h"
/*****************************************************************************
* Macros *
*****************************************************************************/
#define EcpVersion    "20190705v1.2.2"

#define _LITTLE_ENDIAN
//#define _BIG_ENDIAN    // for mpc5604, Core's memory used in big endian mode

#define  CxID_END    0xFFFFFFFF

#define ECP_SET_BIT(val, num) (unsigned long int)(val << num)&(0xffffffffffffffff)
/*
#define  Type_uByte   unsigned char
#define  Type_uHWord  unsigned int
#define  Type_uWord  unsigned long int
*/

/*****************************************************************************
* Defines *
*****************************************************************************/
/*
 CxID_Name:
*/
/*Vehicle Body*/
typedef enum
{
	C0ID_VehicleBody   = 0x01000000,
	C2ID_Vin 		   = 0x01010100,
	C1ID_VehicleDoor   = 0x01020000,
	C2ID_DoorLock 	   = 0x01020100,
	C2ID_Windows 	   = 0x01020200,
	C3ID_WinFL  	   = 0x01020201,
	C3ID_WinFR  	   = 0x01020202,
	C3ID_WinRL  	   = 0x01020203,
	C3ID_WinRR  	   = 0x01020204,
	C3ID_WinSunroof    = 0x01020205,
	C3ID_WinSunroofTile= 0x01020206,
	C3ID_WinRollshade  = 0x01020207,
	C1ID_Ipk 	       = 0x01030000,
	C2ID_IpkInfo 	   = 0x01030100,
	C2ID_Trip1Rst 	   = 0x01030101,
	C2ID_RstTrip2Req   = 0x01030102,
	C3ID_IpkInfoSpeed  = 0x01030106,
	C3ID_DrivingRank   = 0x0103010B,
	C3ID_FuelLevelSts  = 0x0103010D,
	C2ID_IpkTime 	   = 0x01030200,
	C2ID_IpkWarn 	   = 0x01030300,
	C2ID_IpkSet 	   = 0x01030400,
	C2ID_IpkReq 	   = 0x01030401,
	C2ID_IpkSkinMode   = 0x01030500,
	C2ID_IpkFuelVal	   = 0x01030700,
	C2ID_IpkEngRpm     = 0x01030800,
	C2ID_IpkVehSpeed   = 0x01030900,
	C2ID_IpkWallPaper  = 0x01030A00,
	C2ID_IpkTheme  	   = 0x01030B00,
	C1ID_Tpms		   = 0x01060000,
	C2ID_TpmsPress	   = 0x01060100,
	C2ID_TpmsTemp	   = 0x01060200,
	C2ID_TpmsWarn      = 0x01060300,
	C2ID_TpmsSensor    = 0x01060400,
	C1ID_Radar	       = 0x01070000,
	C2ID_RadarInfo	   = 0x01070100,
	C2ID_RadarDistance = 0x01070200,
	C2ID_RadarWarn	   = 0x01070300,
    C2ID_RadarSVA      = 0x01070400,
    C2ID_RadarCFG      = 0x01070500,
    C2ID_RadarCANLost  = 0x01070600,
	C1ID_Security	   = 0x01080000,
	C2ID_SecSeatBelt   = 0x01080100,
	C2ID_SecAirBag	   = 0x01080200,
	C1ID_VehiclePower  = 0x01090000,
	C2ID_VPowerSts     = 0x01090100,
	C2ID_VpDriveInfo   = 0x01090200,
	C2ID_VpSteerWheel  = 0x01090300,
	C2ID_VpTurnLeverSts= 0x01090400,
	C2ID_VpAccelPedalPos= 0x01090500,
	C2ID_VpBrakePedalSts= 0x01090600,
	C1ID_Light         = 0x010A0000,
	C2ID_LightInside   = 0x010A0100,
	C2ID_LightOutside  = 0x010A0200,
	C2ID_SWLightSts    = 0x010A0201,
	C2ID_SWRearFogLight = 0x010A0202,
	C2ID_AtLightByCAN  = 0x010A0300,
	C2ID_ExtTLamprhy  =  0x010A0400,

	C1ID_VehicleKey    = 0x010B0000,
	C2ID_PanelKey      = 0x010B0100,
	//C2ID_IpkKey        = 0x010B0101,
	C2ID_SOSKey        = 0x010B0200,
	C2ID_SWCWorkMode   = 0x010B0300,
	C2ID_VbKeySts	   = 0x010B0400,
	C2ID_BTKeySts	   = 0x010B0700,
	C1ID_Can           = 0x010C0000,
	C1ID_VehicleSet	   = 0x010D0000,	
	C2ID_ADASSet	   = 0x010D0100,
	C2ID_PHEVCharge	   = 0x010E0100,
	C2ID_PHEVNoPlugIn  = 0x010E0200,
	C2ID_PHEVSaveMode  = 0x010E0300,
	C2ID_PHEVAVAS      = 0x010E0400,
	C2ID_PHEVMsgLost   = 0x010E0500,
    C2ID_PHEVSocPoint  = 0x010E0600,
	C2ID_ThermalOutofControl = 0x010E0700,
	C2ID_DischargeSOC  = 0x010E0800,
	C2ID_GreenTravel   = 0x010E0900,
	C2ID_RegencyLevelSw   = 0x010E0A00,
	C2ID_Touchpad = 	0x010E0B00,
	C2ID_BCM1F0Status  = 0x010E0E02,
	C2ID_FRS1A21A3Status  = 0x010E0E03,
	C2ID_FCS1B0Status  = 0x010E0E04,
	C2ID_RSRS2E4Status = 0x010E0E05,
	C2ID_FRS1A3Status = 0x010E0E06,
	C2ID_FCS2E0Status = 0x010E0E07,
	C2ID_FCS114Status = 0x010E0E08,
	C2ID_EPSInfo150Status = 0x010E0E09,
	C2ID_IPK_STS26DStatus = 0x010E0E0A,
	C2ID_IPK_SWSM26FStatus = 0x010E0E0B,
	C2ID_BCM_Roll290Status = 0x010E0E0C,
	C2ID_IPK_Trip12C5Status = 0x010E0E0D,
	C2ID_IPK_Trip22C6Status = 0x010E0E0E,
	C2ID_IPK_TO3F1Status = 0x010E0E0F,
	C2ID_IPK_Fuel3F6Status = 0x010E0E10,
	C2ID_ESC_Regen128Status = 0x010E0E11,
	C2ID_BCM_LDoorWindowState285Status = 0x010E0E12,
	C2ID_VCU_EnergyConsumption315Status = 0x010E0E13,
	C2ID_CddlgmPropFr012EAStatus = 0x010E0E14,
	C2ID_VCU_EnergyConsumption13A2Status = 0x010E0E15,
	C2ID_VCU_InforCAN214Status = 0x010E0E16,
	C2ID_OBC_Curr221Status = 0x010E0E17,
	C2ID_CddIgmPropFr05339Status = 0x010E0E18,
	C2ID_VCU_Ctrl162Status = 0x010E0E19,
	
	C2ID_PHEVChrgSoftSwitch = 0x010E0F01,

	C2ID_GPSINFO	   		= 0x010F0100,
	C2ID_GPSUpdateNotcie 	= 0x010F0201,
	C2ID_GPSVerInfo		 	= 0x010F0202,
	C2ID_GPSClearBoot 		= 0x010F0203,
	C2ID_GPSSendDataCheck 	= 0x010F0204,
	C2ID_GPSUpdateSendData  = 0x010F0205,
	C2ID_GPSReset			= 0x010F0206,
	C2ID_SetGpsInstalAngle  = 0x010F0300,
	C2ID_PowerONOFF         = 0x010F0400, // MMI_PowerONOFFReq
	C2ID_LongTiRunngMod		= 0x010F0500, // MMI_LongTiRunngMod
	C2ID_PEPS_WarnEmergencyOFF = 0x010F0600, // PEPS_WarnEmergencyOFF

	//VIMS
	C2ID_VIMS_00	   = 0x01100000,
	C2ID_VIMS_01	   = 0x01100100,
	C2ID_VIMS_02	   = 0x01100200,
	C2ID_VIMS_03	   = 0x01100300,
	C2ID_VIMS_04	   = 0x01100400,
	C2ID_VIMS_05	   = 0x01100500,
	C2ID_VIMS_06	   = 0x01100600,
	C2ID_VIMS_07	   = 0x01100700,
	C2ID_VIMS_08	   = 0x01100800,
	C2ID_VIMS_09	   = 0x01100900,
	C2ID_VIMS_0A	   = 0x01100A00,
	C2ID_VIMS_0B	   = 0x01100B00,

	C2ID_RBSModeDisplay= 0x01100101,

	//Air conditioner
	C3ID_AC_00		   = 0x01000100,
	C3ID_AC_01		   = 0x01000101,
	C3ID_AC_02		   = 0x01000102,
	C3ID_AC_03		   = 0x01000103,
	C3ID_AC_04		   = 0x01000104,
	C3ID_AC_05		   = 0x01000105,
	C3ID_AC_06		   = 0x01000106,
	C3ID_AC_07		   = 0x01000107,
	C3ID_AC_08		   = 0x01000108,
	C3ID_AC_09		   = 0x01000109,
	C3ID_AC_0A		   = 0x0100010A,
	C3ID_AC_0B		   = 0x0100010B,
	C3ID_AC_0C		   = 0x0100010C,
	C3ID_AC_0D		   = 0x0100010D,
	C3ID_AC_0E		   = 0x0100010E,
	C3ID_AC_0F		   = 0x0100010F,
	C3ID_AC_10		   = 0x01000110,
	C3ID_AC_11		   = 0x01000111,
	
	C3ID_AC_16		   = 0x01000116,	
	C3ID_AC_17		   = 0x01000117,
	C3ID_AC_19		   = 0x01000119,
	C3ID_AC_1A		   = 0x0100011A,
	C3ID_AC_1B		   = 0x0100011B,
	C3ID_AC_1C		   = 0x0100011C,
	C3ID_AC_20		   = 0x01000120,
	C3ID_AC_21		   = 0x01000121,
	C3ID_AC_22		   = 0x01000122,
	C3ID_AC_28		   = 0x01000128,
	C3ID_AC_29		   = 0x01000129,
	C3ID_AC_2A		   = 0x0100012A,
	C3ID_AC_2B		   = 0x0100012B,
	C3ID_AC_2C		   = 0x0100012C,
	C3ID_AC_2D		   = 0x0100012D,
	C3ID_AC_2E		   = 0x0100012E,
	C3ID_AC_2F		   = 0x0100012F,
	C3ID_AC_31		   = 0x01000131,
	C3ID_AC_32		   = 0x01000132,
	C3ID_AC_33		   = 0x01000133,
	C3ID_AC_34		   = 0x01000134,
	C3ID_AC_35		   = 0x01000135,
	C3ID_AC_36		   = 0x01000136,
	C3ID_AC_37		   = 0x01000137,
	C3ID_AC_38		   = 0x01000138,
	C3ID_AC_39		   = 0x01000139,
	C3ID_AC_3A		   = 0x0100013A,
	C3ID_AC_3B		   = 0x0100013B,
	C3ID_AC_3C		   = 0x0100013C,
    C3ID_AC_3D		   = 0x0100013D,
    C3ID_AC_3E		   = 0x0100013E,
    C3ID_AC_3F		   = 0x0100013F,
    C3ID_AC_40		   = 0x01000140,
	C3ID_AC_41		   = 0x01000141,
	C3ID_AC_42		   = 0x01000142,
	C3ID_AC_45		   = 0x01000145, // MMI_AcForbidden &  AC_ACForbiddenrRemind


	//Vehicle Setting
	C3ID_VS_00		   = 0x01000200,
	C3ID_VS_03		   = 0x01000203,
	C3ID_VS_05		   = 0x01000205,
	C3ID_VS_07		   = 0x01000207,
	C3ID_VS_0A		   = 0x0100020A,
	C3ID_VS_0B		   = 0x0100020B,
	C3ID_VS_0D		   = 0x0100020D,
	C3ID_VS_0E		   = 0x0100020E,
	C3ID_VS_11		   = 0x01000211,
	C3ID_VS_14		   = 0x01000214,
	C3ID_VS_15		   = 0x01000215,
	C3ID_VS_16		   = 0x01000216,
	C3ID_VS_17		   = 0x01000217,
	C3ID_VS_18		   = 0x01000218,
	C3ID_VS_19		   = 0x01000219,
	C3ID_VS_1B		   = 0x0100021B,
	C3ID_VS_1D		   = 0x0100021D,
	C3ID_VS_1E		   = 0x0100021E,
	C3ID_VS_26		   = 0x01000226,
	C3ID_VS_2B		   = 0x0100022B,
	C3ID_VS_2C		   = 0x0100022C,
	C3ID_VS_2D		   = 0x0100022D,
	C3ID_VS_2F		   = 0x0100022F,
	C3ID_VS_30		   = 0x01000230,
	C3ID_VS_31		   = 0x01000231,
	C3ID_VS_32		   = 0x01000232,
	C3ID_VS_33		   = 0x01000233,
	C3ID_VS_34		   = 0x01000234,
	C3ID_VS_35		   = 0x01000235,
	C3ID_VS_36		   = 0x01000236,
	C3ID_VS_37		   = 0x01000237,
	C3ID_VS_38		   = 0x01000238,
	C3ID_VS_3A		   = 0x0100023A,
	C3ID_VS_3B		   = 0x0100023B,
	C3ID_VS_3D		   = 0x0100023D,
	C3ID_VS_3E		   = 0x0100023E,
	C3ID_VS_3F		   = 0x0100023F,
	C3ID_VS_40		   = 0x01000240,
	C3ID_VS_41         = 0x01000241,
	C3ID_VS_42         = 0x01000242,
	C3ID_VS_43         = 0x01000243,
	C3ID_VS_44		   = 0x01000244,
	C3ID_VS_45         = 0x01000245,
	C3ID_VS_46         = 0x01000246,
	C3ID_VS_47         = 0x01000247,
	C3ID_VS_48         = 0x01000248,
	C3ID_VS_49         = 0x01000249,  // MMI_HeadlightAdjustmentReq & BCM_HeadlightAdjustmentSts
	C3ID_VS_4A         = 0x0100024A,  // MMI_PowerKeepTimeSet & PEPS_PowerkeepTimeSetResp
	C3ID_VS_4B         = 0x0100024B,  // MMI_SW_HoodUnlock
	C3ID_VS_4C         = 0x0100024C,  // BCM_ExternalLockingReimnd
	C3ID_VS_4D         = 0x0100024D,  // AVAS_AVASDisabledSts
	C3ID_VS_4E         = 0x0100024E,  // MMI_SaveElecSwitchModeSts
	C3ID_VS_4F         = 0x0100024F,  // MMI_PrpsnMaxEvMod
	C3ID_VS_50         = 0x01000250,  // FRS_ALOD_Mode
	C3ID_VS_51         = 0x01000251,  // MMI_AutoShowModSet & VCU_ShowModeEnable & ESC_ShowModeEnable


	//APA
	C3ID_APA_00		   = 0x01000600,
	C3ID_APA_01		   = 0x01000601,
	C3ID_APA_02		   = 0x01000602,
	C3ID_APA_03		   = 0x01000603,
	C3ID_APA_04		   = 0x01000604,
	C3ID_APA_05		   = 0x01000605,
	C3ID_APA_06		   = 0x01000606,
	C3ID_APA_07		   = 0x01000607,
	C3ID_APA_08		   = 0x01000608,
	C3ID_APA_09		   = 0x01000609,
	C3ID_APA_0A		   = 0x0100060A,
	C3ID_APA_0B		   = 0x0100060B,
	C3ID_APA_0C		   = 0x0100060C,
	C3ID_APA_0D		   = 0x0100060D,
	C3ID_APA_0E		   = 0x0100060E,
	C3ID_APA_0F		   = 0x0100060F,
	C3ID_APA_10		   = 0x01000610,
	C3ID_APA_11		   = 0x01000611,
	C3ID_APA_12		   = 0x01000612,
	C3ID_APA_13		   = 0x01000613,
	C3ID_APA_14		   = 0x01000614,
	C3ID_APA_15		   = 0x01000615,
	C3ID_APA_16		   = 0x01000616,
	C3ID_APA_17		   = 0x01000617,
	C3ID_APA_18		   = 0x01000618,
	C3ID_APA_19		   = 0x01000619,
	C3ID_APA_1A		   = 0x0100061A,
	C3ID_APA_1B		   = 0x0100061B,
	C3ID_APA_1C		   = 0x0100061C,
	


	//HUD&IPK
	C3ID_HUD_00		   = 0x01000300,
	C3ID_HUD_01		   = 0x01000301,
	C3ID_HUD_02		   = 0x01000302,
	C3ID_HUD_03		   = 0x01000303,
	C3ID_HUD_04		   = 0x01000304,
	C3ID_HUD_05		   = 0x01000305,
	C3ID_HUD_06		   = 0x01000306,
	C3ID_HUD_07		   = 0x01000307,
	C3ID_HUD_08		   = 0x01000308,
	C3ID_HUD_09		   = 0x01000309,
	C3ID_HUD_0A		   = 0x0100030A,
	C3ID_IPK_0B		   = 0x0100030B,
	C3ID_IPK_0C		   = 0x0100030C,
	C3ID_IPK_0D		   = 0x0100030D,
	C3ID_IPK_0E		   = 0x0100030E,
	C3ID_IPK_0F		   = 0x0100030F,
	C3ID_IPK_10		   = 0x01000310,
	C3ID_IPK_11 	   = 0x01000311,
	C3ID_IPK_12 	   = 0x01000312,
	C3ID_IPK_13 	   = 0x01000313,
	C3ID_IPK_14 	   = 0x01000314,
	C3ID_IPK_15 	   = 0x01000315,
	C3ID_IPK_16 	   = 0x01000316,
	C3ID_IPK_17 	   = 0x01000317,
	C3ID_IPK_18 	   = 0x01000318,
	C3ID_IPK_19 	   = 0x01000319,
	C3ID_IPK_1A 	   = 0x0100031A,
	C3ID_HUD_1B 	   = 0x0100031B,
	C3ID_HUD_1C 	   = 0x0100031C,
	C3ID_IPK_1D 	   = 0x0100031D,
	C3ID_IPK_1E 	   = 0x0100031E,
	C3ID_IPK_1F 	   = 0x0100031F,
	C3ID_IPK_20 	   = 0x01000320,
	C3ID_IPK_21 	   = 0x01000321,
	C3ID_IPK_22 	   = 0x01000322,
	C2ID_IPK_23        = 0x01000323,    
	C2ID_IPK_24        = 0x01000324,    // IPK_vDisplay
	C2ID_IPK_25        = 0x01000325,    // MMI_PwrCnsAvgTabSts
	C2ID_IPK_26        = 0x01000326,    // MMI_50KM_PWrCnsAvg
	C2ID_IPK_27        = 0x01000327,    // MMI_100KM_PWrCnsAvg


	//AVM
	C3ID_AVM_00 	   = 0x01000400,
	C3ID_AVM_01 	   = 0x01000401,
	C3ID_AVM_02 	   = 0x01000402,
	C3ID_AVM_03 	   = 0x01000403,
	C3ID_AVM_04 	   = 0x01000404,
	C3ID_AVM_05 	   = 0x01000405,
	C3ID_AVM_06 	   = 0x01000406,
	C3ID_AVM_07 	   = 0x01000407,
	C3ID_AVM_08 	   = 0x01000408,
	C3ID_AVM_09 	   = 0x01000409,
	C3ID_AVM_0A 	   = 0x0100040A,
	C3ID_AVM_0B 	   = 0x0100040B,
	C3ID_AVM_0C 	   = 0x0100040C,
	C3ID_AVM_0D 	   = 0x0100040D,
	C3ID_AVM_0E 	   = 0x0100040E,
	C3ID_AVM_0F 	   = 0x0100040F,
	C3ID_AVM_10 	   = 0x01000410,
	C3ID_AVM_11 	   = 0x01000411,
	C3ID_AVM_12 	   = 0x01000412,
	C3ID_AVM_13 	   = 0x01000413,
	C3ID_AVM_14 	   = 0x01000414,
	C3ID_AVM_15 	   = 0x01000415,
	C3ID_AVM_16 	   = 0x01000416,
	C3ID_AVM_17 	   = 0x01000417,
	C3ID_AVM_18 	   = 0x01000418,
	C3ID_AVM_19 	   = 0x01000419,
	C3ID_AVM_1A 	   = 0x0100041A,
	C3ID_AVM_1B 	   = 0x0100041B,

	//DRV
	C3ID_DVR_00 	   = 0x01000500,
	C3ID_DVR_01 	   = 0x01000501,
	C3ID_DVR_02 	   = 0x01000502,
	C3ID_DVR_03 	   = 0x01000503,
	C3ID_DVR_04 	   = 0x01000504,
	C3ID_DVR_05 	   = 0x01000505,
	C3ID_DVR_06 	   = 0x01000506,
	C3ID_DVR_07 	   = 0x01000507,
	C3ID_DVR_08 	   = 0x01000508,
	C3ID_DVR_09 	   = 0x01000509,
	C3ID_DVR_0A 	   = 0x0100050A,
	C3ID_DVR_0B 	   = 0x0100050B,
	C3ID_DVR_0C 	   = 0x0100050C,
	C3ID_DVR_0D 	   = 0x0100050D,
	C3ID_DVR_0E 	   = 0x0100050E,
	C3ID_DVR_0F 	   = 0x0100050F,
	C3ID_DVR_10 	   = 0x01000510,
	C3ID_DVR_11 	   = 0x01000511,
	C3ID_DVR_12 	   = 0x01000512,
	

	//FACE RECOGNITION
	C3ID_FR_00 	   = 0x01000700,
	C3ID_FR_01 	   = 0x01000701,
	C3ID_FR_02 	   = 0x01000702,
	C3ID_FR_03 	   = 0x01000703,
	C3ID_FR_04 	   = 0x01000704,
	C3ID_FR_05 	   = 0x01000705,
	C3ID_FR_06 	   = 0x01000706,
	C3ID_FR_07 	   = 0x01000707,
	C3ID_FR_08 	   = 0x01000708,
	C3ID_FR_09 	   = 0x01000709,
	C3ID_FR_0A 	   = 0x0100070A,
	C3ID_FR_0B 	   = 0x0100070B,
	C3ID_FR_0C 	   = 0x0100070C,
	C3ID_FR_0D 	   = 0x0100070D,
	C3ID_FR_0E 	   = 0x0100070E,
	C3ID_FR_0F 	   = 0x0100070F,

	C3ID_VIMS_00	= 0x01000800,
	C3ID_VIMS_01	= 0x01000801,
	C3ID_VIMS_02	= 0x01000802,
	C3ID_VIMS_03	= 0x01000803,
	C3ID_VIMS_04	= 0x01000804,
	C3ID_VIMS_05	= 0x01000805,
	C3ID_VIMS_06	= 0x01000806,
	C3ID_VIMS_07	= 0x01000807,
	C3ID_VIMS_08	= 0x01000808,
	C3ID_VIMS_09	= 0x01000809,
	C3ID_VIMS_0A	= 0x0100080A,
	C3ID_VIMS_0B	= 0x0100080B,
	C3ID_VIMS_0C	= 0x0100080C,
	C3ID_VIMS_0D	= 0x0100080D,
	C3ID_VIMS_0E	= 0x0100080E,

	//EPS
	C3ID_EPS_00	= 0x01000A00,
	C3ID_EPS_01	= 0x01000A01,
	C3ID_EPS_02	= 0x01000A02,
	
	//OBC
	C3ID_OBC_01  = 0x01000B01,  // MMI_MaxAcInpCurrentSet & OBC_MaxACInpISetFdb
	C3ID_OBC_02  = 0x01000B02,  // OBC_OnBdDisChrgrCCline_EV
	C3ID_OBC_03  = 0x01000B03,  // OBC_OnBdDisChrgrEnergy
	C3ID_OBC_04  = 0x01000B04,  // OBC_DischrgPwrExceedWarn
	C3ID_OBC_05  = 0x01000B05,  // OBC_TotDischTime

	//BMSH
	C3ID_BMSH_01 = 0x01000C01, // BMSH_V2XdchaSwtFb & MMI_V2XdchaSwt
	C3ID_BMSH_02 = 0x01000C02, // BMSH_DchaStopReasonIndcn
	C3ID_BMSH_03 = 0x01000C03, // BMSH_BattRatedEnergy

	// VCU
	C3ID_VCU_01  = 0x01000D01, // VCU_EVDTEodometerDisChg
	C3ID_VCU_02  = 0x01000D02, // MMI_TrailerSts & VCU_TrlrModPrpsnSts & VCU_TrlrModRemind & ESC_TrlrModBCSts
	C3ID_VCU_03  = 0x01000D03, // VCU_DrvPwrAct
	C3ID_VCU_04  = 0x01000D04, // VCU_ThermalPwrAct
	C3ID_VCU_05  = 0x01000D05, // VCU_DCDCPwrAct
	C3ID_VCU_06  = 0x01000D06, // VCU_AvgCnsDstSg & VCU_PwrCnsAvg
	C3ID_VCU_07  = 0x01000D07, 
	C3ID_VCU_08  = 0x01000D08, // VCU_PwrCnsAvg1
	C3ID_VCU_09  = 0x01000D09, // VCU_CruiseSwitchSts
	C3ID_VCU_0A  = 0x01000D0A, // VCU_CruiseControlSts



	// ESC
	C3ID_ESC_01  = 0x01000E01, // MMI_CST_Request & ESC_cst_status & ESC_CST_Switch_available
	C3ID_ESC_02  = 0x01000E02, // MMI_VBF_Request & ESC_VBF_status & ESC_VBF_Switch_available
	C3ID_ESC_03  = 0x01000E03, // ESC_RoadInclnRoadIncln

}en_Ecp_VehcileBodyID;

/*MMI */
typedef enum
{
    C0ID_MMI     	  = 0x02000000,
    C1ID_EcpInfo      = 0x02010000,
    C2ID_EcpVersion   = 0x02010100,
    C2ID_DeviceInfo   = 0x02020100,
    C3ID_MpuSoftVersion = 0x02020101,
    C3ID_XdsnNum      = 0x02020102,
    C3ID_IhuidNum     = 0x02020103,
    C3ID_VechConfg    = 0x02020104,
    C3ID_VechType     = 0x02020105,
    C3ID_VechNtwConfg = 0x02020106,
    C3ID_WifiMacAddr  = 0x02020107,
    C3ID_LocalConfig  = 0x02020108,
    C3ID_VeConfigFlag = 0x02020109,
    C1ID_PowerStatus  = 0x02030000,
    C2ID_McuAwakeSts  = 0x02030100,
    C2ID_MpuPower     = 0x02030200,
    C3ID_MpuPowerSts  = 0x02030201,
    C3ID_FastSleepCmd = 0x02030202,
    C3ID_ApReady      = 0x02030203,
	C2ID_Heart		  = 0x02030300,
	C2ID_RecovCmd	  = 0x02030400,
	C2ID_MCUStopReq	  = 0x02030500,
    C1ID_Display      = 0x02040000,
    C2ID_IllBright    = 0x02040100,
    C2ID_VideoSource  = 0x02040200,
    C2ID_DiaplaySet   = 0x02040300,
    C2ID_DayNightSet  = 0x02040400,
    C2ID_Voice        = 0x02050100,
    C2ID_AVAS_Freq    = 0x02050301,
    C2ID_AVAS_Mute    = 0x02050302,
    C1ID_Peripheral   = 0x02060000,
    C2ID_4G_HUB       = 0x02060100,
    C2ID_WirlesCharg  = 0x02060200,  
    C2ID_DrCruise     = 0x02070100,
    C2ID_TestLog      = 0x02080100,
    C2ID_TboxConfg    = 0x02090100,
    C2ID_IccidValue   = 0x02090101,
    C2ID_ImsiNum      = 0x02090102,
    C2ID_ImeiNum      = 0x02090103,
    C2ID_TboxNum      = 0x02090104,
    C2ID_PubApnAddr   = 0x02090105,
    C2ID_PubApnName   = 0x02090106,
    C2ID_PubApnPaswd  = 0x02090107,
    C2ID_PrvApnAddr   = 0x02090108,
    C2ID_PrvApnName   = 0x02090109,
    C2ID_PrvApnPaswd  = 0x0209010A,
    C2ID_SwUpgrade    = 0x020A0100,
    C2ID_DeviceWarn   = 0x020B0100,
    C2ID_ATWS         = 0x020E0100,
	C2ID_TempValue	  = 0x020F0100,
	C2ID_VehicleSpeed  = 0x02100100,
	C2ID_Restore  	  = 0x02150100

}en_Ecp_MultiMediaID;


/*Diagnostic Catalogue*/
typedef enum
{
	C0ID_DIAG         = 0x03000000,
	C1ID_CanBus       = 0x03000100,	
	C1ID_AntSt        = 0x03000200,
	C1ID_MicSt        = 0x03000300,
	C1ID_Speaker      = 0x03000400,
	C1ID_Usb          = 0x03000500,
	C1ID_RadioSt      = 0x03000600,
	C1ID_Disk         = 0x03000700,
	C1ID_BtMac        = 0x03000800,
	C1ID_Swc          = 0x03000900,
	C1ID_Watchdog     = 0x03000A00,
	C1ID_BtName       = 0x03000B00,
	C1ID_IllValue     = 0x03000C00,
	C1ID_RadioSignal  = 0x03000D00,
	C1ID_NetLink      = 0x03000E00,
	C1ID_AudioSet     = 0x03000F00,
	C1ID_WifiName     = 0x03010000,
	C1ID_WifiMac      = 0x03010100,
	C1ID_SysDate      = 0x03010200,
	C1ID_GnssInfo     = 0x03010300,
	C1ID_GnssPara     = 0x03010400,
	C1ID_AudioInfo    = 0x03010500,
	C1ID_Mix		  = 0x03010600,
	C2ID_Mix_Tbox	  = 0x03010601,
	C2ID_Mix_BT		  = 0x03010602,
	C2ID_Mix_TMP	  = 0x03010603,
	C2ID_Mix_SOCVideoError 	  = 0x03010604,
	C2ID_Mix_DisplayCheckoutError	  = 0x03010605,

	C2ID_Display_CSD_Vol_High  								= 0x03010606,
	C2ID_Display_CSD_Vol_Low  								= 0x03010607,
	C2ID_Display_CSD_Fog_Module_Error  						= 0x03010608,
	C2ID_Display_CSD_Touchpanel_Circuit_Short_To_Gnd  		= 0x03010609,
	C2ID_Display_CSD_Touchpanel_Module_Error  				= 0x0301060A,
	C2ID_Display_CSD_Backlight_Circuit_Short_To_Gnd  		= 0x0301060B,
	C2ID_Display_CSD_Backlight_Circuit_Open  				= 0x0301060C,
	C2ID_Display_CSD_Backlight_Circuit_Error  				= 0x0301060D,
	C2ID_Display_CSD_Local_Signal_Error_When_First_Ign  	= 0x0301060E,
	C2ID_Display_CSD_Backlight_Signal_Lost_When_First_Ign  	= 0x0301060F,
	C2ID_Display_CSD_Fog_Module_Vol_Supply_Error  			= 0x03010610,
	C2ID_Display_ABN_Power_Off_Det  						= 0x03010612,
	C2ID_Display_Otp_Reload_Fall  							= 0x03010613,
	C2ID_Display_Flash_Reload_Err  							= 0x03010614,
	C2ID_Display_WDT_Err  									= 0x03010615,
	C2ID_Display_Lvds_ABN  									= 0x03010616,
	C2ID_Display_Overheat  									= 0x03010617,
	C2ID_Display_PMIC  										= 0x03010618,

	C1ID_DisplayLight = 0x03010700,
	C1ID_AVM_Info	  = 0x03010800,
	C1ID_AMP_DTC	  = 0x03010900,
	C1ID_AVAS_CALIBRATE = 0x03010A00,
	C1ID_MIC_CALIBRATE = 0x03010B00
}en_Ecp_DiagID;


/*Factory Auto Test*/
typedef enum
{
    C0ID_Ate           = 0x04000000,
    C1ID_DiagMode      = 0x04000100,
    C1ID_GeneralCmd    = 0x04000200,
    C1ID_ClearFlash    = 0x04000300,
    C1ID_LanguageSts   = 0x04000400,
    C1ID_ShowPicture   = 0x04000500,
    C0ID_LcdSts        = 0x04000600,
    C1ID_VersionInfo   = 0x04000700,
    C1ID_WifiSwitch    = 0x04000800,
    C1ID_WifiIntensity = 0x04000900,
    C1ID_WifiHostpot   = 0x04000A00,
    C1ID_WifiSetting   = 0x04000B00,
    C0ID_4gRestart     = 0x04000C00,
    C1ID_4gIntensity   = 0x04000D00,
    C1ID_4gDiagnose    = 0x04000E00,
    C1ID_RadioFreq     = 0x04000F00,
    C1ID_RadioSeekUpDn = 0x04010000,
    C1ID_RadioMannual  = 0x04010100,
    C0ID_MediaSource   = 0x04010200,
    C1ID_SeekUpDn      = 0x04010300,
    C1ID_PlayPause     = 0x04010400,
    C1ID_BtOnOff       = 0x04010500,
    C1ID_EnterBtPage   = 0x04010600,
    C1ID_BtMacAddr     = 0x04010700,
    C0ID_BtPassword    = 0x04010800,
    C1ID_BtCallSts     = 0x04010900,
    C1ID_BtPhoneNum    = 0x04010A00,
    C1ID_BtVolume      = 0x04010B00,
    C1ID_BtLinkSt      = 0x04010C00,
    C1ID_BtVisible     = 0x04010D00,
    C0ID_BtName        = 0x04010E00,
    C1ID_BtAutoConnect = 0x04010F00,
    C1ID_GpsInfo       = 0x04020000,
    C1ID_SatelliteInfo = 0x04020100,
    C1ID_NaviPage      = 0x04020200,
    C1ID_SimulateNavi  = 0x04020300,
    C0ID_NaviVolume    = 0x04020400,
    C1ID_NaviActiveSts = 0x04020500,
    C1ID_HighLowPitch  = 0x04020600,
    C1ID_SoundBalance  = 0x04020700,
    C1ID_MuteSts       = 0x04020800,
    C1ID_VolumeValue   = 0x04020900,
    C0ID_DefaultSet    = 0x04020A00,
    C1ID_RecordPlay    = 0x04020B00,
    C1ID_FaceplateKey  = 0x04020C00,
    C1ID_PhoneLink     = 0x04020D00,
    C1ID_DrvSts        = 0x04020E00,
    C1ID_VoiceRecogn   = 0x04020F00,
    C0ID_IpodAuthId    = 0x04030000,
    C1ID_3dAccInfo     = 0x04030100,
    C1ID_NaviUpdate    = 0x04030200,
    C1ID_DvrVersion    = 0x04030300,
    C1ID_PlayTrack     = 0x04030400,
    C1ID_ReverseSts    = 0x04030500,
    C0ID_FactorySet    = 0x04030600,
    C1ID_PlayVideo     = 0x04030700,
    C1ID_GpsSysCheck   = 0x04030800,
    C1ID_GyroChipId    = 0x04030900,
    C1ID_OperateLog    = 0x04030A00,
    C1ID_GoHomeId      = 0x04030B00,
    C0ID_WrRdTestId    = 0x04030C00,
    C1ID_AudioChannel  = 0x04030D00,
    C1ID_NonSignal     = 0x04030E00,
    C1ID_TpTest        = 0x04030F00,
    C1ID_ScreenBright  = 0x04040000,
    C1ID_3dSound       = 0x04040100,
    C1ID_TboxAudio     = 0x04040200,
    C1ID_ClearBtRecord = 0x04040300,
	C1ID_ReadIOState   = 0x04040400,
	C1ID_SetIOState    = 0x04040500,
	C1ID_ImportUser    = 0x04040600,
	C1ID_CheckMD5      = 0x04040700,
	C1ID_CheckVI	   = 0x04040800,
	C1ID_USBPop 	   = 0x04040900,
	C1ID_FactoryMode   = 0x04040A00,
	C1ID_ReadEfuseSts  = 0x04040C00,
	C1ID_BtEnableSts   = 0x04040C01,
	C1ID_MicChannleSet = 0x04040D00,
	C1ID_UsbOvercurrent= 0x04040E00,
	C1ID_QDriveEnableSts = 0x04040F00,
	C1ID_AmpSwitch 	   = 0x04041000,
	C1ID_TypeWritingEnableSts = 0x04041100,
	C1ID_MapEnableSts  = 0x04041200,
	C1ID_GyroAccCheck  = 0x04041400,
	C1ID_FactoryVersionInfo = 0x04041500,
	C1ID_GpsHornCheck  = 0x04041600,
	C1ID_BTPoPElimination  = 0x04041700,
	C1ID_SetMMIActive  = 0x04041800,
	C1ID_MMIActiveSts  = 0x04041900,
	C1ID_AVASSound  = 0x04041A00
}en_Ecp_AteID;


/*****************************************************************************
* Typedefs *
*****************************************************************************/
/* 
prefix- Description:
   avg - ap2vp get
   avs - ap2vp set
   vag - vp2ag get
   vas - vp2ap set
suffix-
   alcx - contain all the sub_catalog cx 
*/

/**********CMDID Strucre**********/
typedef union
{
	Type_uWord R;

//#ifdef _LITTLE_ENDIAN
	struct
	{
		Type_uByte c3;
		Type_uByte c2;
		Type_uByte c1;
		Type_uByte c0:4;
		Type_uByte fncType:3;
		Type_uByte dir:1;
	}B0;
	struct
	{
		Type_uWord cId :28;
		Type_uWord fncType:3;
		Type_uWord dir:1;
	}B1;		
#if 0
//#else
	struct
	{
		Type_uByte c0:4;
		Type_uByte fncType:3;
		Type_uByte dir:1;
		Type_uByte c1;
		Type_uByte c2;
		Type_uByte c3;
	}B0;
	struct
	{
		Type_uWord cId :28;
		Type_uWord fncType:3;
		Type_uWord dir:1;
	}B1;
#endif

}st_EcpId_type;

/*
typedef struct
{
#if _LITTLE_ENDIAN
	Type_uByte dir:1;
	Type_uByte fncType:3;
	Type_uByte c0:4;
	Type_uByte c1;
	Type_uByte c2;
	Type_uByte c3;
#else
	Type_uByte c0:4;
	Type_uByte fncType:3;
	Type_uByte dir:1;
	Type_uByte c1;
	Type_uByte c2;
	Type_uByte c3;
#endif
}st_EcpId_type;
*/


/**********************vehicle body structure****************/
typedef  struct
{
    Type_uByte  vin[20];
}st_avs_Vin_type;

typedef  struct
{
    Type_uByte  vin[20];
}st_vas_Vin_type;



typedef union
{
	Type_uByte R[2];
	struct
	{
#ifdef _LITTLE_ENDIAN
	    Type_uByte FL:2;
	    Type_uByte FR:2;
	    Type_uByte RL:2;
	    Type_uByte RR:2;	
		Type_uByte Trunk:2;
		Type_uByte Hood:2;
		Type_uByte rev:4;		
#else
		Type_uByte RR:2; 
	    Type_uByte RL:2;
	    Type_uByte FR:2;
	    Type_uByte FL:2;	
		Type_uByte rev:4;
		Type_uByte Hood:2;		
		Type_uByte Trunk:2;	
#endif
	}B;	
}st_DoorStat_type;

typedef union
{
	Type_uByte R[2];
	struct
	{
#ifdef _LITTLE_ENDIAN
	    Type_uByte FL:2;
	    Type_uByte FR:2;
	    Type_uByte RL:2;
	    Type_uByte RR:2;	
		Type_uByte Trunk:2;
		Type_uByte Hood:2;
		Type_uByte rev:4;		
#else
		Type_uByte RR:2; 
	    Type_uByte RL:2;
	    Type_uByte FR:2;
	    Type_uByte FL:2;	
		Type_uByte rev:4;
		Type_uByte Hood:2;		
		Type_uByte Trunk:2;	
#endif
	}B;
}st_LockStat_type;

typedef struct 
{
	st_DoorStat_type DoorSt;
	st_LockStat_type LockSt;
}st_vas_DoorLockStat_type;


typedef struct 
{
	Type_uByte FL;
	Type_uByte FR;
	Type_uByte RL;
	Type_uByte RR;
	Type_uByte Sunroof;
	Type_uByte SunroofTile;
	Type_uByte Rollshade;
	Type_uByte SunroofRoolShadeDiag;
}st_avs_Win_type;

typedef struct 
{
	Type_uByte FL;
	Type_uByte FR;
	Type_uByte RL;
	Type_uByte RR;
	Type_uByte Sunroof;
	Type_uByte SunroofTile;
	Type_uByte RollShade;
	Type_uByte SunroofRoolShadeDiag;
}st_vas_Win_type;

typedef struct
{
	Type_uByte  DrivingRank;
	Type_uByte  rev[3];
}st_avs_IpkInfo_type;


typedef struct
{
	Type_uByte  totalOdo[4];
	Type_uByte  remainOdo[2];
	Type_uByte  maintainOdo[2];
	Type_uByte  tripMeter1;
	Type_uByte  tripMeter2[3];
	Type_uByte  instantSpeed[2];  //c3
	Type_uByte  averageFuel;
	Type_uByte  averageinstantFuel;	
	Type_uByte  coolantTemp;
	Type_uByte  ipkLanguage;
	Type_uByte  fuelLevelSts;
	Type_uByte  vehspeedinvalid;
	Type_uByte  Trip1_Duration[2];
	Type_uByte  Trip2_Duration[2];
	Type_uByte  AverageVehicleSpeed;
	Type_uByte  Trip2_AverageVehicleSpeed;
	Type_uByte  RstTrip1;
	Type_uByte  RstTrip2;
	Type_uByte  Rst_Trip2Sts;
	Type_uByte  DMCorrelativeMode;
	Type_uByte  DayToSrv[2];
	Type_uByte  tripMeter1_A3[3];
	Type_uByte  fuCnsAvg1[2];
	Type_uByte  fuCnsAvg2[2];
	Type_uByte  rvc;
}st_vas_IpkInfo_type;

typedef  struct
{
	Type_uByte  Year;
	Type_uByte  Month;
	Type_uByte  Day;
	Type_uByte  Hour;
	Type_uByte  Minute;
	Type_uByte  Second;
	Type_uByte  TimeFormate;
	Type_uByte  Week;
	Type_uByte  TimeZone;
	Type_uByte  resv[3];
}st_avs_IpkTime_type;


typedef  struct
{
	Type_uByte  Year;
	Type_uByte  Month;
	Type_uByte  Day;
	Type_uByte  Hour;
	Type_uByte  Minute;
	Type_uByte  Second;
	Type_uByte  TimeFormate;
	Type_uByte  Week;
	Type_uByte  TimeZone;
	Type_uByte  resv[3];
}st_vas_IpkTime_type;

typedef union
{
	Type_uByte R[8];
	struct
	{
#ifdef _LITTLE_ENDIAN
		Type_uByte fuelWarn		   :2;
		Type_uByte tirePressWarn    :2;
		Type_uByte airbagWarn	   :2;
		Type_uByte engEmissionFail  :2;
	
		Type_uByte engEmissionSelfCheckFail:2;
		Type_uByte maintainceWarn		  :2;
		Type_uByte coolantTempValid		  :2;
		Type_uByte oilLowPressure		  :2;
	
		Type_uByte batChargeLight :2;
		Type_uByte brakeFail 	 :2;
		Type_uByte EPS_systemFail :2;
		Type_uByte EPB_Light 	 :2;
	
		Type_uByte EPB_system  :2;
		Type_uByte ABS_Fail	  :2;
		Type_uByte ESC_Fail	  :2;
		Type_uByte ESC_Light   :2;
	
		Type_uByte ESC_OFF_Light   :2;
		Type_uByte drvSafeBeltWarn :2;
		Type_uByte engWarn		  :2;
		Type_uByte parkFail		  :2;
	
		Type_uByte accFail		  :2;
		Type_uByte lampFail		  :2;
		Type_uByte TCU_OvertempWarningLevel	:4;
	
		Type_uByte DrvSeatBeltWarn:1;
		Type_uByte PassSeatBeltWarn:1;
		Type_uByte rev1:6;
		
		Type_uByte rev2;
#else
		Type_uByte engEmissionFail  :2;
		Type_uByte airbagWarn	   :2;
		Type_uByte tirePressWarn    :2;
		Type_uByte fuelWarn		   :2;

		Type_uByte oilLowPressure		  :2;
		Type_uByte coolantTempValid		  :2;
		Type_uByte maintainceWarn		  :2;
		Type_uByte engEmissionSelfCheckFail:2;

		Type_uByte EPB_Light 	 :2;
		Type_uByte EPS_systemFail :2;
		Type_uByte brakeFail 	 :2;
		Type_uByte batChargeLight :2;

		Type_uByte ESC_Light   :2;
		Type_uByte ESC_Fail	  :2;
		Type_uByte ABS_Fail	  :2;
		Type_uByte EPB_system  :2;

		Type_uByte parkFail		  :2;
		Type_uByte engWarn		  :2;
		Type_uByte drvSafeBeltWarn :2;
		Type_uByte ESC_OFF_Light   :2;

		Type_uByte TCU_OvertempWarningLevel  :4;
		Type_uByte lampFail		  :2;
		Type_uByte accFail		  :2;

		Type_uByte rev1:6;
		Type_uByte PassSeatBeltWarn:1;
		Type_uByte DrvSeatBeltWarn:1;

		Type_uByte rev2;
#endif
	}B;
 }st_vas_IpkWarn_type;



typedef struct
{
  Type_uByte cmd;
  Type_uByte data[388];
}st_avs_IpkSet_type;

typedef struct
{
	Type_uByte IpkResendType;
	Type_uByte Resvd[3];
}st_vas_IpkSet_type;

typedef struct
{
	Type_uByte data[16];
}st_vas_IpkReq;

typedef struct
{
    Type_uByte CorrectlativeSts;
    Type_uByte SkinMode;
    Type_uByte Resvd[2];
} st_avs_IpkSkinMode_type;

typedef struct
{
    Type_uByte CorrectlativeSts;
    Type_uByte SkinMode;
    Type_uByte Resvd[2];
}st_vas_IpkSkinMode_type;

typedef struct
{
    Type_uByte FuelTypeReq;
    Type_uByte Resvd[3];
}st_avs_IpkFuelResis_type;

typedef struct
{
    Type_uByte FuelType;
    struct
    {
    	Type_uByte uFuelResis[2];
    }FuelResis[32];
}st_vas_IpkFuelResis_type;

typedef struct
{
    Type_uByte IpkVehSpeed[2];
	Type_uByte resv[2];
}st_vas_IpkVehSpeed_type;

typedef struct
{
	uint8 IPK_ThemeLinkSwitchStatus;
    uint8 EngSpeedDisp[2];
	uint8 resv[1];
}st_vas_IpkEngineRpm_type;

typedef  struct
{
	Type_uByte   FL;  
	Type_uByte   FR; 
	Type_uByte   RL; 
	Type_uByte   RR; 
}st_vas_TyrePress_type;

typedef  struct
{
	Type_uByte   FL;  
	Type_uByte   FR; 
	Type_uByte   RL; 
	Type_uByte   RR; 
}st_vas_TyreTemp_type;

typedef union
{
	Type_uByte R[5];
	struct
	{
#ifdef _LITTLE_ENDIAN	
		Type_uByte	 PressureW_FL : 4;	
		Type_uByte	 PressureW_FR : 4;		
		Type_uByte	 PressureW_RL : 4; 
		Type_uByte	 PressureW_RR : 4; 
		Type_uByte	 TempW_FL : 4;	
		Type_uByte	 TempW_FR : 4; 
		Type_uByte	 TempW_RL : 4; 
		Type_uByte	 TempW_RR : 4;
		Type_uByte	 iTPMS_comTyreWarn : 2;
		Type_uByte	 iTPMSCalPsbl : 1;
		Type_uByte	 iTPMSCalsts : 3;
#else
		Type_uByte	 PressureW_FR : 4;		
		Type_uByte	 PressureW_FL : 4;	

		Type_uByte	 PressureW_RR : 4; 
		Type_uByte	 PressureW_RL : 4; 

		Type_uByte	 TempW_FR : 4; 
		Type_uByte	 TempW_FL : 4;	

		Type_uByte	 TempW_RR : 4;
		Type_uByte	 TempW_RL : 4; 
#endif
	}B;
}st_vas_TypeWarn_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
#ifdef _LITTLE_ENDIAN
		Type_uByte   SensorW_FL : 2;  
		Type_uByte   SensorW_FR : 2; 
		Type_uByte   SensorW_RL : 2; 
		Type_uByte   SensorW_RR : 2; 
		Type_uByte   FastLeakW_FL : 2;  
		Type_uByte   FastLeakW_FR : 2; 
		Type_uByte   FastLeakW_RL : 2; 
		Type_uByte   FastLeakW_RR : 2; 
		Type_uByte   SnrLearnSta_FL : 2;  
		Type_uByte   SnrLearnSta_FR : 2; 
		Type_uByte   SnrLearnSta_RL : 2; 
		Type_uByte   SnrLearnSta_RR : 2; 
		Type_uByte   SnrVolSta_FL : 2;  
		Type_uByte   SnrVolSta_FR : 2; 
		Type_uByte   SnrVolSta_RL : 2; 
		Type_uByte   SnrVolSta_RR : 2; 
#else
		Type_uByte	 SensorW_RR : 2; 
		Type_uByte	 SensorW_RL : 2; 
		Type_uByte	 SensorW_FR : 2; 
		Type_uByte	 SensorW_FL : 2;  		
		
		Type_uByte	 FastLeakW_RR : 2; 
		Type_uByte	 FastLeakW_RL : 2; 
		Type_uByte	 FastLeakW_FR : 2; 
		Type_uByte	 FastLeakW_FL : 2;	

		Type_uByte	 SnrLearnSta_RR : 2; 
		Type_uByte	 SnrLearnSta_RL : 2; 
		Type_uByte	 SnrLearnSta_FR : 2; 
		Type_uByte	 SnrLearnSta_FL : 2;  

		Type_uByte	 SnrVolSta_RR : 2; 
		Type_uByte	 SnrVolSta_RL : 2; 
		Type_uByte	 SnrVolSta_FR : 2; 
		Type_uByte	 SnrVolSta_FL : 2;	
#endif
	}B;
}st_vas_TypeSensor_type;


typedef union
{
	Type_uByte R[4];
	struct
	{
#ifdef _LITTLE_ENDIAN
		Type_uByte  SensorNum_Front : 4; 
		Type_uByte  SensorNum_Rear : 4; 
		Type_uByte  SensorFail_FL : 2; 
		Type_uByte  SensorFail_FLM : 2; 
		Type_uByte  SensorFail_FRM : 2; 
		Type_uByte  SensorFail_FR : 2; 
		Type_uByte  SensorFail_RL : 2; 
		Type_uByte  SensorFail_RLM : 2; 
		Type_uByte  SensorFail_RRM : 2; 
		Type_uByte  SensorFail_RR : 2; 
		Type_uByte  Recvd1;
#else
		Type_uByte  SensorNum_Rear : 4; 
		Type_uByte  SensorNum_Front : 4; 
		
		Type_uByte  SensorFail_FR : 2; 
		Type_uByte  SensorFail_FRM : 2; 
		Type_uByte  SensorFail_FLM : 2; 
		Type_uByte  SensorFail_FL : 2; 
		
		Type_uByte  SensorFail_RR : 2; 
		Type_uByte  SensorFail_RRM : 2; 
		Type_uByte  SensorFail_RLM : 2; 
		Type_uByte  SensorFail_RL : 2; 
		
		Type_uByte  Recvd1;

#endif
	}B;

}st_vas_RadarInfo_type;


typedef  struct
{
	Type_uByte  DistanceValue_FL; 
	Type_uByte  DistanceValue_FLM;
	Type_uByte  DistanceValue_FRM; 
	Type_uByte  DistanceValue_FR; 
	Type_uByte  DistanceValue_RL; 
	Type_uByte  DistanceValue_RLM; 
	Type_uByte  DistanceValue_RRM; 
	Type_uByte  DistanceValue_RR; 
	Type_uByte  DistanceValue_LSF; 
	Type_uByte  DistanceValue_RSF; 
	Type_uByte  DistanceValue_LSR; 
	Type_uByte  DistanceValue_RSR; 
}st_vas_RadarDistance_type;

typedef union
{
	Type_uByte R[8];
	struct
	{
#ifdef _LITTLE_ENDIAN
		Type_uByte   workMode;
		//Type_uByte	WarningType : 8; 
		Type_uByte	RearWarningType : 4; 
		Type_uByte	FrontWarningType : 4;
		Type_uByte	ObstacleDetect_FL : 2; 
		Type_uByte	ObstacleDetect_FLM : 2; 
		Type_uByte	ObstacleDetect_FRM : 2; 
		Type_uByte	ObstacleDetect_FR : 2; 
		Type_uByte	ObstacleDetect_RL : 2; 
		Type_uByte	ObstacleDetect_RLM : 2; 
		Type_uByte	ObstacleDetect_RRM : 2; 
		Type_uByte	ObstacleDetect_RR : 2; 
		Type_uByte	failureMode;
		Type_uByte	NearestDistance_Rear_L:8;
		Type_uByte	NearestDistance_Rear_H:1;
		Type_uByte	StopDisplayRequest_Rear:1;
		Type_uByte	Recvd0:6;
		Type_uByte	Recvd1;
#else
		Type_uByte   workMode;
		//Type_uByte	WarningType : 8; 
		Type_uByte	FrontWarningType : 4;
		Type_uByte	RearWarningType	 : 4;
		Type_uByte	ObstacleDetect_FR : 2; 
		Type_uByte	ObstacleDetect_FRM : 2; 
		Type_uByte	ObstacleDetect_FLM : 2; 
		Type_uByte	ObstacleDetect_FL : 2; 
		
		Type_uByte	ObstacleDetect_RR : 2; 
		Type_uByte	ObstacleDetect_RRM : 2; 
		Type_uByte	ObstacleDetect_RLM : 2; 
		Type_uByte	ObstacleDetect_RL : 2; 
		Type_uByte	failureMode;
		Type_uByte	NearestDistance_Rear_L:8;
		Type_uByte	NearestDistance_Rear_H:1;
		Type_uByte	StopDisplayRequest_Rear:1;
		Type_uByte	Recvd0:6;
		Type_uByte	Recvd1;

#endif
	}B;
}st_vas_RadarWarning_type;


typedef struct
{
    Type_uByte   PAS_SVA_MODE;
    Type_uByte	PAS_SVA_Audiblewarning;
    Type_uByte	Recvd0[2];
}st_vas_RadarSVA_type;

typedef struct
{
    uint8   PDC_UART_Switch;
    uint8	PDC_Volume_Value;
    uint8	DOW_Volume_Value;
    uint8	Recvd0[1];
}st_vas_RadarCFG_type;

typedef struct
{
    Type_uByte  lost;
    Type_uByte	Recvd0[3];
}st_vas_RadarCANLost_type;

typedef struct
{
    uint8   PDC_UART_Request;
    uint8	PDC_Volume_Request;
    uint8	DOW_Volume_Request;
    uint8	PDC_DOW_UART_flag;
}st_avs_RadarCFG_type;

typedef struct
{
    Type_uByte   MMI_SVA_Request;
    Type_uByte	MMI_SVA_AudibleWarningOption;
    Type_uByte	Recvd0[2];
}st_avs_RadarSVA_type;

typedef  struct
{
	Type_uByte   SeatBelt_FL; 
	Type_uByte   SeatBelt_FR;
	Type_uByte   SeatBelt_RL;
	Type_uByte   SeatBelt_RR;
}st_vas_SeatBeltSts_type;

typedef  struct
{
	Type_uByte  AirbagSta; 
	Type_uByte  Recvd[3];
}st_vas_AirbagSts_type;

typedef union
{
	Type_uByte R[8];
	struct
	{
#ifdef _LITTLE_ENDIAN
		Type_uByte	KeyStatus : 4; 
		Type_uByte	MB_Battery_State : 4; 
		
		Type_uByte	BatteryVol[2]; 
				
		Type_uByte	RemoteCtrlState;
		Type_uByte	EngineSta;
		Type_uByte 	EmsAmbientPressure;
		Type_uByte   EmsStartStopSts;
		Type_uByte   peps_warn_stop_emergency:1;
		Type_uByte   peps_warn_stop_moving:1;
		Type_uByte   VCUePTReady:1;
		Type_uByte   warning_BatterySaving:1;
		Type_uByte   Resv0:4;
		

#else
		Type_uByte	MB_Battery_State : 4; 
		Type_uByte	KeyStatus : 4; 
		
		Type_uByte	BatteryVol[2]; 
		
		Type_uByte	RemoteCtrlState;
		Type_uByte	EngineSta;
		Type_uByte 	EmsAmbientPressure;
		Type_uByte   EmsStartStopSts;
		Type_uByte   Resv0:4;
		Type_uByte   VCUePTReady:1;
		Type_uByte   peps_warn_stop_moving:1;
		Type_uByte   peps_warn_stop_emergency:1;
		Type_uByte	 warning_BatterySaving:1;
#endif
	}B;
}st_vas_PowerSts_type;

typedef union 
{
	Type_uByte R[4];
	struct
	{
#ifdef _LITTLE_ENDIAN
		Type_uByte EmsStopStartSwitch: 2;
		Type_uByte iBoosterMode: 2;
		Type_uByte ESCSwitch: 2;
		Type_uByte AutoHoldSwitch: 2;

        Type_uByte HDC_Req: 2;
        Type_uByte ePTRegencyLevRequest:2;
		Type_uByte res:4;
		Type_uByte driveMode;
		Type_uByte rev[2];
#else
		Type_uByte AutoHoldSwitch: 2;
		Type_uByte ESCSwitch: 2;
		Type_uByte iBoosterMode: 2;
		Type_uByte EmsStopStartSwitch: 2;
		Type_uByte res:4;
        Type_uByte ePTRegencyLevRequest:2;
        Type_uByte HDC_Req: 2;
		
		Type_uByte driveMode;
		
		Type_uByte rev[1];
#endif
	}B;
}st_avs_DriveSts_type;

typedef union
{
	Type_uByte R[5];
	struct
	{
#ifdef _LITTLE_ENDIAN
		Type_uByte	Gear_position: 4; 
		Type_uByte	EPB_State : 4; 
		Type_uByte	FourDriveSta : 4; 
		Type_uByte	DriveMode: 4;
		Type_uByte   SwtichDrvieMode: 4;
		Type_uByte   EmsStopStartMainStatus: 4;
		Type_uByte	iBoosterResp: 4;
		Type_uByte   ESPSwichSta: 2;
		Type_uByte   AutoHoldSwitchSta: 2;

		Type_uByte	 ESC_HDC_Active :2;
		Type_uByte	 ESC_HDC_Switch_Available :1;
		Type_uByte	ESC_AVH_Switch_available :1;
		Type_uByte	 ePTRegencyLevInd :3;
		Type_uByte	 ESC_Autohold_SwitchSta :1;
#else
		Type_uByte	EPB_State : 4; 
		Type_uByte	Gear_position: 4;

		Type_uByte	DriveMode: 4;
		Type_uByte	FourDriveSta : 4;

		Type_uByte	EmsStopStartMainStatus: 4;
		Type_uByte   SwtichDrvieMode: 4;

		Type_uByte   AutoHoldSwitchSta: 2;
		Type_uByte   ESPSwichSta: 2;
		Type_uByte	iBoosterResp: 4;

        Type_uByte   ESC_Autohold_SwitchSta :1;
		Type_uByte   ePTRegencyLevInd :3;
		Type_uByte 	ESC_AVH_Switch_available :1;
		Type_uByte   ESC_HDC_Switch_Available :1;
        Type_uByte   ESC_HDC_Active :2;

#endif
	}B;
}st_vas_DriveSts_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte AngleDirection; 
		Type_uByte AngleValue[2]; 
		Type_uByte Recvd;
	}B;
}st_vas_SteerWheelSts_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte TrunLeverSts; 
		Type_uByte Recv[3];
	}B;
}st_vas_TrunLeverSts_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte BrakePedalSwitchSts;
		Type_uByte Recv[3];
	}B;
}st_vas_BrakePedalSts_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte speedstate1;
		Type_uByte Recv[3];
	}B;
}st_vas_Speedatate1_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte AccelPedalPostion;
		Type_uByte AccelPedalPostionValid;
		Type_uByte Recv[2];
	}B;
}st_vas_AccelPedalPostion_type;

typedef union
{
	Type_uByte R[8];
	struct
	{
		Type_uByte  AtmosphereLampId;
#ifdef _LITTLE_ENDIAN
		
		Type_uByte  AtmosphereLampOnOff     :4; 
		Type_uByte  AtmosphereLampBreathMode:4; //bit4-7
#else
		Type_uByte  AtmosphereLampBreathMode	:4; //bit4-7
		Type_uByte  AtmosphereLampOnOff		:4;
#endif

		Type_uByte  AtmosphereLampBrightness;
		Type_uByte  AtmosphereLampColorRValue;
		Type_uByte  AtmosphereLampColorGValue;
		Type_uByte  AtmosphereLampColorBValue;

	
#ifdef _LITTLE_ENDIAN
		Type_uByte  WelcomeLampSet:4;			//bit 0-3
		Type_uByte  AlMediaSource :3; //bit 4-6
		Type_uByte  reserv1:1;
#else
		Type_uByte  reserv1:1;
		Type_uByte  AlMediaSource :3; //bit 4-6
		Type_uByte  WelcomeLampSet:4;			//bit 0-3

#endif
		Type_uByte  reserv2;
	}B;
}AtmoLampSet_type;

typedef union
{
	Type_uByte R[8];
	struct
	{
		Type_uByte  AtmosphereLampId;
#ifdef _LITTLE_ENDIAN
		Type_uByte  AtmosphereLampOnOff     :4; 
		Type_uByte  AtmosphereLampBreathMode:4; //bit4-7
#else
		Type_uByte  AtmosphereLampBreathMode	:4; //bit4-7
		Type_uByte  AtmosphereLampOnOff		:4;
#endif

		Type_uByte  AtmosphereLampColourRValue;
		Type_uByte  AtmosphereLampColourGValue;
		Type_uByte  AtmosphereLampColourBValue;
		Type_uByte  AtmosphereLampBrightness;
		Type_uByte  AtmosphereLampFault;

#ifdef _LITTLE_ENDIAN
		Type_uByte  WelcomeLampOnOff:4;				//bit 0-3
		Type_uByte  reserv1:4;
#else
		Type_uByte  reserv1:4;
		Type_uByte  WelcomeLampOnOff:4;				//bit 0-3
#endif
	}B;
}AtmoLampResp_type;


typedef struct
{
	AtmoLampSet_type aLampSet;
}st_avs_AtmoLamp_type;

typedef struct
{
	AtmoLampResp_type aLampSet[6];
}st_vas_AtmoLamp_type;


typedef struct
{
	Type_uByte  ALModeKeyReq;			//��Χ�ƿ���
	Type_uByte  ALMusicKeyReq;			//�����ɶ�ģ�鿪��
	Type_uByte  ALSceneKeyReq;			//������������
	Type_uByte  ALModeSet;				//��Χ��ģʽ����
	Type_uByte  ALColourAdjust;			//��Χ����ɫ����
	Type_uByte  ALBrightnessLevelAdjust;	//��Χ�����ȵȼ�����
	Type_uByte  ALMediaSource;			//��Դ��Ϣ
	Type_uByte  ALVoiceMode;				//����ģʽ��Ϣ
	Type_uByte  ALSoundPercent;			//����ǿ�Ȱٷֱ�
	Type_uByte  ALMainSwitchReq;
	Type_uByte  resv[2];
}st_avs_AtmoLampByCAN_type;

typedef struct
{
	Type_uByte  ALModeKeyStatusRsp;			//��Χ�ƿ��ط���
	Type_uByte  ALMusicKeyStatusRsp;			//�����ɶ�ģ�鿪�ط���
	Type_uByte  ALSceneKeyStatusRsp;			//�����������ط���
	Type_uByte  ALModeSetRsp;				//��Χ��ģʽ���÷���
	Type_uByte  ALColourAdjustRsp;			//��Χ����ɫ���ڷ���
	Type_uByte  ALBrightnessLevelAdjustRsp;	//��Χ�����ȵȼ����ڷ���
	Type_uByte  ALMessageLost;				//��Χ���źŶ�ʧ
	Type_uByte  ALMainSwitchStatusRsp;
}st_vas_AtmoLampByCAN_type;

typedef struct
{
	Type_uByte  data;
	Type_uByte resv[3];
}st_avs_Lamp_common_type;


typedef union
{
	Type_uByte R[4];
	struct
	{
#ifdef _LITTLE_ENDIAN
		Type_uByte	FrontFog : 2; 
		Type_uByte	RearFog : 2; 
		Type_uByte	DippedBeam : 2; 
		Type_uByte	MainBeam : 2;
		
		Type_uByte	SideLight : 2; 
		Type_uByte	LeftDirectionLight : 2; 
		Type_uByte	RightDirectionLight : 2; 
		Type_uByte	WarningLight:2;	

		Type_uByte	BrakeLight : 2; 
		Type_uByte	HazardLight : 2; 
		Type_uByte	recvd1: 2; 
		Type_uByte	recvd2: 2; 
		Type_uByte	recvd[1];
#else
		Type_uByte	MainBeam : 2;
		Type_uByte	DippedBeam : 2; 
		Type_uByte	RearFog : 2; 
		Type_uByte	FrontFog : 2; 
		
		Type_uByte	WarningLight:2; 
		Type_uByte	RightDirectionLight : 2; 
		Type_uByte	LeftDirectionLight : 2; 
		Type_uByte	SideLight : 2; 

		Type_uByte	recvd2: 2; 
		Type_uByte	recvd1: 2; 
		Type_uByte	HazardLight : 2; 
		Type_uByte	BrakeLight : 2; 
		Type_uByte	recvd[1];
#endif
	}B;
}st_vas_OuterLampSts_type;

typedef struct
{
	Type_uByte BCM_ExtLightOutput;
	Type_uByte BCM_MusicRhythmSts;
	Type_uByte resv[2];
}st_vas_ExtLightOutPut_type;


typedef  struct
{
	Type_uByte  KeyID; 
	Type_uByte  KeyValue; 
	Type_uByte  recvd1; 
	Type_uByte  recvd2;
}st_vas_PanelKeySts_type;

typedef  struct
{
	Type_uByte  LeftSelect; 
	Type_uByte  rightSelect; 
	Type_uByte  IPKOK; 
	Type_uByte  upSelect; 
	Type_uByte  downSelect; 
	Type_uByte  volume0; 
	Type_uByte  volume1; 
	Type_uByte  menu; 
	Type_uByte  Gap0; 
	Type_uByte  voice; 
	Type_uByte  resv0; 
	Type_uByte  resv1;
}st_vas_IpkKeySts_type;

typedef  struct
{
	Type_uByte  data; 
	Type_uByte  resv[3]; 
}st_vas_BTKeySts_type;

typedef  struct
{
	Type_uByte  CallEventID; 
	Type_uByte  CallEventValue; 
	Type_uByte  recvd1; 
	Type_uByte  recvd2;
}st_avs_KeyEventSts_type;



typedef  struct
{
	Type_uByte  SosKeyID; 
	Type_uByte  SosKeyValue; 
	Type_uByte  recvd1; 
	Type_uByte  recvd2;
}st_vas_SOSKeySts_type;

typedef struct
{	
	Type_uByte  SwcUseRight;  
    Type_uByte  resvd[3]; 
}st_avs_SwcWorkSts_type;

typedef  struct
{
    Type_uByte  SwcUseRight;  
    Type_uByte  resvd[3]; 
}st_vas_SwcWorkSts_type;

typedef  struct
{
	Type_uByte  BcmCustomSwitch ; 
	Type_uByte  resvd[3]; 
}st_vas_VbKeySts_type;

typedef  struct
{
	Type_uByte  CANID[4]; 
	Type_uByte  DataValue[8]; 
} CanFrameOne_type;


typedef  struct
{
	CanFrameOne_type CanFrame;
}st_avs_CANFramePassed_type;

typedef struct 
{ 
   //CanFrameOne_type  CanFrame[N];
	CanFrameOne_type  CanFrame;
} st_vas_CANFramePassed_type;

typedef struct
{
	Type_uByte  DOW_EnaleSts;
	Type_uByte  LCA_EnableSts;
	Type_uByte  RCTA_EnableSts;
	Type_uByte  RCW_EnableSts;
	Type_uByte  LKS_LaneAssistTypeReq;
	Type_uByte  LDW_WarnTypeSetting;
	//Type_uByte  SLIF_MenuReq;
	#ifdef _LITTLE_ENDIAN
	Type_uByte  SLIF_SwitchMenuReq:2;
	Type_uByte  SLIF_WarningMenuReq:2;
	Type_uByte  SLIF_MiscSignMenuReq:2;
	Type_uByte  resv0:2;
	#else
	Type_uByte  resv0:2;
	Type_uByte  SLIF_MiscSignMenuReq:2;
	Type_uByte  SLIF_WarningMenuReq:2;
	Type_uByte  SLIF_SwitchMenuReq:2;
	#endif
	
	Type_uByte  ALOD_ControlTypeReq;
	
	#ifdef _LITTLE_ENDIAN
	Type_uByte  AEB_AEBStateReq:2;
	Type_uByte  AEB_FCWStateReq:2;
	Type_uByte  AEB_FCWSenlevel:2;
	Type_uByte  resv1:2;
	#else
	Type_uByte  resv1:2;
	Type_uByte  AEB_FCWSenlevel:2;
	Type_uByte  AEB_FCWStateReq:2;
	Type_uByte  AEB_AEBStateReq:2;
	#endif

	Type_uByte ELK_MenuReq;

    Type_uByte MMI_IHBC_MenuReq;
    Type_uByte MMI_LCA_AudioWarning;
	Type_uByte SCFReq;
	Type_uByte CPMswSts ;
	Type_uByte DriverStsMoniter;
	Type_uByte FaceRecSts ;
	Type_uByte Driveoff_MenuReq;
	Type_uByte rev[3];

}st_avs_ADASSetting_type;

typedef struct
{
#ifdef _LITTLE_ENDIAN
	Type_uByte  RSRS_DOW_Sts :2;
	Type_uByte  RSRS_DOW_WarnLeft :2;
	Type_uByte  RSRS_DOW_WarnRight :2;
	Type_uByte  resv0 :2;
	
	Type_uByte  RSRS_SystemSts:4;
	Type_uByte  RSRS_LCA_ActiveSts:4;

	Type_uByte  RSRS_RCTA_Sts	:2;
	Type_uByte  RSRS_RCTA_WarnLeft :2;
	Type_uByte  RSRS_RCTA_WarnRight :2;
	Type_uByte  resv0_1 :2;
#else
	Type_uByte  resv0 :2;
	Type_uByte  RSRS_DOW_WarnRight :2;
	Type_uByte  RSRS_DOW_WarnLeft :2;
	Type_uByte  RSRS_DOW_Sts :2;
	
	Type_uByte  RSRS_LCA_ActiveSts:4;
	Type_uByte  RSRS_SystemSts:4;

	Type_uByte  resv0_1 :2;
	Type_uByte  RSRS_RCTA_WarnRight :2;
	Type_uByte  RSRS_RCTA_WarnLeft :2;
	Type_uByte  RSRS_RCTA_Sts	:2;
#endif	
	
	//Type_uByte  RSRS_RCTA_Sts;
	Type_uByte  RSRS_RCW_Sts;
#ifdef _LITTLE_ENDIAN
	Type_uByte  FCS_ALAD_SwitchSts :4;
	Type_uByte  FCS_ALAD_Type :4;
	
	Type_uByte  FCS_ALAD_Status :4;
	Type_uByte  FCS_ALAD_WarningType:2;
	Type_uByte  resv1 :2;

	Type_uByte  FCS_SLIF_WarningSwitch:2;
	Type_uByte  FCS_SLIF_Switch :2;
	Type_uByte  FCS_SLIF_Status :3;
	Type_uByte  FCS_SLIF_MiscSts :1;

	Type_uByte  FRS_ALOD_ControlType :4;
	Type_uByte  FRS_ALOD_Status :4;

	Type_uByte  AEB_Switch:2;
	Type_uByte  AEB_WarningType:2;
	Type_uByte  AEB_FCWSenlevel:2;
	Type_uByte  resv2:2;
#else
	Type_uByte  FCS_ALAD_Type :4;
	Type_uByte  FCS_ALAD_SwitchSts :4;
	
	Type_uByte  resv1 :2;
	Type_uByte  FCS_ALAD_WarningType:2;
	Type_uByte  FCS_ALAD_Status :4;

	Type_uByte  FCS_SLIF_MiscSts :1;
	Type_uByte  FCS_SLIF_Status :3;
	Type_uByte  FCS_SLIF_Switch :2;
	Type_uByte  FCS_SLIF_WarningSwitch:2;
	
	Type_uByte  FRS_ALOD_Status :4;
	Type_uByte  FRS_ALOD_ControlType :4;

	Type_uByte  resv2:2;
	Type_uByte  AEB_FCWSenlevel:2;
	Type_uByte  AEB_WarningType:2;
	Type_uByte  AEB_Switch:2;
	
#endif

#ifdef _LITTLE_ENDIAN
	Type_uByte  ELK_Menu_Switch:1;
	Type_uByte  ELK_Menu_Sts:3;
	Type_uByte  resvd3:4;
#else
	Type_uByte  resvd3:4;
	Type_uByte  ELK_Menu_Sts:3;
	Type_uByte  ELK_Menu_Switch:1;
#endif

#ifdef _LITTLE_ENDIAN
	Type_uByte FCS_Lost:1;
	Type_uByte FRS_Lost:1;
	Type_uByte RSRS_Lost:1;
	Type_uByte resvd:5;
#else
	Type_uByte resvd:5;
	Type_uByte RSRS_Lost:1;
	Type_uByte FRS_Lost:1;
	Type_uByte FCS_Lost:1;
#endif
	Type_uByte FCS_IHBC_Switch;
    Type_uByte FCS_IHBC_Status;
    Type_uByte RSRS_LCA_AudioSwitch;
    Type_uByte AEB_Sts;
	Type_uByte FCS_Sign_Speedlimit;
	Type_uByte FCS_ISA_SCFResp;
	Type_uByte VIMS_FaceRecoPenReq;
	Type_uByte VIMS_DriverMoniterOpenReq;
	Type_uByte FCS_Driveoff_Switch;
	Type_uByte FRS_ALOD_Info;

}st_vas_ADASResponse_type;

// door_alc1

//3.1
typedef struct
{
	st_avs_Vin_type avs_Vin;
	st_vas_Vin_type vas_Vin;
}st_Vin_alc1_type;

//3.2
typedef struct
{
	st_vas_DoorLockStat_type vas_DoorLock;
	st_avs_Win_type          avs_Win;
	st_vas_Win_type          vas_Win;
}st_Door_alc1_type;

//3.3
typedef struct
{
	Type_uByte  data[2];
	Type_uByte  resv[2];
}st_avs_ipk_Common_type;

typedef struct
{
	Type_uByte  data[3];
	Type_uByte  resv;
}st_avs_ipk_DesDistance_type;


typedef struct
{
	Type_uByte  data;
	Type_uByte resv[3];
}st_vas_ipk_common_type;

typedef struct
{
	Type_uHWord data;
	Type_uByte  resv[2];
}st_vas_ipk_vdisplay_type;

typedef struct
{
	Type_uByte MMI_PWrCnsAvg[2];
	Type_uByte MMI_PwrCnsAvgTabSts;
	Type_uByte resv;
}st_avs_ipk_PWrCnsAvg_type;


typedef struct
{
	st_avs_IpkInfo_type	  avs_IpkInfo;
	st_vas_IpkInfo_type   vas_IpkInfo;	
	st_avs_IpkTime_type   vas_IpkTime;
	st_vas_IpkWarn_type   vas_IpkWarn;
	st_avs_IpkSet_type    avs_IpkSet;
	st_vas_IpkSet_type 	  vas_IpkSetType;
	st_vas_IpkReq 	      vas_IpkReq;
	st_avs_IpkSkinMode_type  avs_IpkSkinMode;
	st_vas_IpkSkinMode_type  vas_IpkSkinMode;
	st_avs_IpkFuelResis_type avs_IpkFuelResis;
	st_vas_IpkFuelResis_type vas_IpkFuelResis;

	st_vas_IpkVehSpeed_type vas_IpkVehSpeed;
	st_vas_IpkEngineRpm_type vas_IpkEngineRpm;
	
	st_avs_ipk_Common_type avs_ipkCommon;
	st_avs_ipk_DesDistance_type avs_ipkDesDistance;
	st_vas_ipk_common_type vas_SnowingModeAct;
	st_vas_ipk_common_type vas_SafetyInfoDisp;
	st_vas_ipk_common_type vas_NaviInfoDisp;
	st_vas_ipk_common_type vas_BTInfoDisp;
	st_vas_ipk_common_type vas_VehDrvgDisp;
	st_vas_ipk_common_type vas_HUDAcive;
	st_vas_ipk_common_type vas_SetButtonStatus;

	st_vas_ipk_common_type vas_IpkTheme;
	st_vas_ipk_common_type vas_IpkOdometerSts; // IPK_OdometerSts
	st_vas_ipk_vdisplay_type  vas_IPK_vDisplay; // IPK_vDisplay

	st_avs_ipk_Common_type avs_MMI_50KM_PwrCnsAvg;
	st_avs_ipk_Common_type avs_MMI_100KM_PwrCnsAvg;

}st_Ipk_alc1_type;

//3.6
typedef struct
{
	st_vas_TyrePress_type vas_Press;
	st_vas_TyreTemp_type  vas_Temp;
	st_vas_TypeWarn_type  vas_Warn;
	st_vas_TypeSensor_type vas_Sensor;
}st_Tyre_alc1_type;

//3.7

typedef struct
{
	st_vas_RadarInfo_type      vas_RadarInfo;
	st_vas_RadarDistance_type  vas_RadarDis;
	st_vas_RadarWarning_type   vas_RadarWarn;
    st_vas_RadarSVA_type       vas_RadarSVA;
    st_avs_RadarSVA_type       avs_RadarSVA;
	st_vas_RadarCFG_type       vas_RadarCFG;
	st_avs_RadarCFG_type       avs_RadarCFG;

	st_vas_RadarCANLost_type vas_RadarCanLost;

	
}st_Radar_alc1_type;

//3.8
typedef struct
{
	st_vas_SeatBeltSts_type  vas_SeatBelt;
	st_vas_AirbagSts_type    vas_Airbag;
}st_Security_alc1_type;

//3.9
typedef struct
{
	st_vas_PowerSts_type vas_PowerSts;
	st_avs_DriveSts_type avs_DriveSts;
	st_vas_DriveSts_type vas_DriveSts;
	st_vas_SteerWheelSts_type  vas_SteerWheel;
	st_vas_TrunLeverSts_type  vas_TrunLeverSts;
	st_vas_BrakePedalSts_type vas_BrakePedalSts;
	st_vas_AccelPedalPostion_type vas_AccelPedalPostion;
	st_vas_Speedatate1_type vas_Speedatate1;
}st_Power_alc1_type;


//3.10
typedef struct
{
	st_avs_AtmoLamp_type     avs_AtmoLamp;
	st_vas_AtmoLamp_type     vas_AtmoLamp;
	st_vas_OuterLampSts_type vas_OuterLamp;
	st_vas_ExtLightOutPut_type vas_ExtLightOutPut;
	st_avs_AtmoLampByCAN_type avs_AtmoLampByCAN;
	st_vas_AtmoLampByCAN_type vas_AtmoLampByCAN;
	st_avs_Lamp_common_type avs_SWLightSts;
	st_avs_Lamp_common_type avs_SWRearFogLight;
}st_Lamp_alc1_type;

//3.11
typedef struct
{
	st_vas_PanelKeySts_type vas_PanelKey;
	st_avs_KeyEventSts_type  avs_KeyEvent;
	st_vas_SOSKeySts_type   vas_SosKey;
	st_avs_SwcWorkSts_type  avs_SwcWorkSts;
	st_vas_SwcWorkSts_type  vas_SwcWorkSts;
	st_vas_VbKeySts_type    vas_VbKeySts;
	st_vas_IpkKeySts_type	vas_IpkKey;
	st_vas_BTKeySts_type	vas_BTKeySts;
}st_Key_alc1_type;

//3.12
typedef struct
{
	st_avs_CANFramePassed_type  avs_Can;
	st_vas_CANFramePassed_type  vas_Can;
}st_Can_alc1_type;




//Vehicle body for AVM
typedef struct
{
	Type_uByte  DynamicPGS;
	Type_uByte resv[3];
}st_avs_avm_dynamicPGS_type;

typedef struct
{
	Type_uByte  DynamicPGS;
	Type_uByte resv[3];
}st_vas_avm_dynamicPGS_type;

typedef struct
{
	Type_uByte  data;
	Type_uByte resv[3];
}st_vas_avm_common_type;

typedef struct
{
	Type_uByte  AVM_SoftKeyResponse;
	Type_uByte  AVM_status;
	Type_uByte  AVM_MMI_Failure;
	Type_uByte  AVM_APA_Failure;
	Type_uByte  AVM_ViewModeResp;
	Type_uByte  AVM_CarIconColorResp;
	Type_uByte  AVM_TrunningEnterAVMFuncResp;
	Type_uByte  AVM_ControlRequest;
	Type_uByte  AVM_OnroadCalibResp;
	Type_uByte  AVM_HighTrunningEnterAVMFuncResp;
	Type_uByte  AVM_PAS_ParkingWarningBeef;
	Type_uByte  AVM_APA_Function_Select;
	Type_uByte  AVM_PSC_Function_Select;
	Type_uByte  AVM_DynamicPGS_Repsonse;
	Type_uByte  AVM_FactoryMode;
	Type_uByte  AVM_3DTouringViewKeyResponse;
	Type_uByte  AVM_ViewModeRespExtend;
	Type_uByte  AVM_ViewTouchBeef;
	Type_uByte resv[2];
}st_vas_avm_union_type;

typedef struct
{
	Type_uByte  FLWheelSpeed[2];
	Type_uByte  FRWheelSpeed[2];
	Type_uByte  RLWheelSpeed[2];
	Type_uByte  RRWheelSpeed[2];
}st_vas_avm_VehicleWheelSpeed;

typedef struct
{
	Type_uByte  FLWheelSpeedRC[2];
	Type_uByte  FRWheelSpeedRC[2];
	Type_uByte  RLWheelSpeedRC[2];
	Type_uByte  RRWheelSpeedRC[2];
}st_vas_avm_VehicleWheelSpeedRC;

typedef struct
{
	Type_uByte Xcoordinate[2];
	Type_uByte Ycoordinate[2];
	Type_uByte touchEventType;
	Type_uByte resv[3];
}st_avs_avm_CoordinateData;

typedef struct
{
	st_vas_avm_common_type	vas_DynamicPGS;
	st_vas_avm_common_type	vas_MODEnable;
	st_vas_avm_common_type	vas_PDEnable;
	st_vas_avm_common_type	vas_CarIconColor;
	st_vas_avm_common_type	vas_TrunningEnter;
	st_vas_avm_union_type	vas_SoftKey;
	st_vas_avm_common_type	vas_ViewModeSwitch;
	st_vas_avm_common_type	vas_ViewModeSwitch1;
	st_vas_avm_common_type	vas_FactoryMode;
	st_vas_avm_common_type	vas_BSDState;
	st_vas_avm_common_type	vas_ControlReq;
	st_vas_avm_common_type	vas_MMIFailure;
	st_vas_avm_common_type	vas_APAFailure;
	st_vas_avm_common_type	vas_activeStatus;
	st_vas_avm_common_type	vas_viewTouchBeep;
	st_vas_avm_common_type	vas_parkingWarnBeep;
	st_vas_avm_common_type	vas_msgLost;
	st_vas_avm_common_type	vas_AVMButtonStatus;
	st_vas_avm_common_type  vas_AVM_CarIconTransStatus;
	st_vas_avm_VehicleWheelSpeed vas_wheelSpeed;
	st_vas_avm_VehicleWheelSpeedRC vas_wheelSpeedRC;

	st_avs_avm_CoordinateData avs_coordinateData;
	st_vas_avm_common_type	vas_AVM_PAS_VolumeLevelRequest;

}st_avm_type;

typedef struct
{
	Type_uByte OprCode;
	Type_uByte UserID;
	Type_uByte Status;
	Type_uByte SyncDriver[5];
}st_vas_fr_userAndStatus_type;


typedef struct
{
	Type_uByte OprCode;
	Type_uByte UserID;
	Type_uByte resv[2];
}st_avs_fr_userAndStatus;

typedef struct
{
	Type_uByte FragranceSelected;
	Type_uByte FragranceSwitchEnable;
	Type_uByte FragranceSpecies;
	Type_uByte FragranceConcentration;
}st_avs_fr_fragrance;

typedef struct
{
	Type_uByte AmbLightSelected;
	Type_uByte AmbLightCorrelative;
	Type_uByte AmbLightBright;
	Type_uByte AmbLightcolor;
}st_avs_fr_ambLight;

typedef struct
{
	Type_uByte BackLightSelected;
	Type_uByte BackLightBright;
	Type_uByte resv[2];
}st_avs_fr_backLight;

typedef struct
{
	Type_uByte IPKThemeSelected;
	Type_uByte IPKThemeColor;
	Type_uByte IPKThemeCorrelative;
	Type_uByte resv;
}st_avs_fr_ipkTheme;

typedef struct
{
	Type_uByte FragranceSwitchEnable;
	Type_uByte FragranceSpecies;
	Type_uByte FragranceConcentration;
	Type_uByte resv;
}st_vas_fr_fragrance;

typedef struct
{
	Type_uByte AmbLightCorrelative;
	Type_uByte AmbLightBright;
	Type_uByte AmbLightcolor;
	Type_uByte resv;
}st_vas_fr_ambLight;

typedef struct
{
	Type_uByte BackLightBright;
	Type_uByte resv[3];
}st_vas_fr_backLight;

typedef struct
{
	Type_uByte IPKThemeColor;
	Type_uByte IPKThemeCorrelative;
	Type_uByte resv[2];
}st_vas_fr_ipkTheme;

typedef struct
{
	Type_uByte data;
	Type_uByte resv[3];
}st_vas_fr_common_type;

typedef struct
{
	st_avs_fr_userAndStatus			avs_userAndStatus;
	st_avs_fr_fragrance 			avs_fragrance;
	st_avs_fr_ambLight 				avs_ambLihgt;
	st_avs_fr_backLight 			avs_backLihgt;
	st_avs_fr_ipkTheme				avs_ipkTheme;

	st_vas_fr_userAndStatus_type	vas_userAndStatus;
	st_vas_fr_fragrance 			vas_fragrance;
	st_vas_fr_ambLight				vas_ambLight;
	st_vas_fr_backLight				vas_backLihgt;
	st_vas_fr_ipkTheme				vas_ipkTheme;
	st_vas_fr_common_type 			vas_SetrecognitionStsResp;
	st_vas_fr_common_type 			vas_SetFatiguedetectionStsResp;
	st_vas_fr_common_type 			vas_SetUnsafeActStsResp;
	st_vas_fr_common_type 			vas_RestoreFactorySettingsResult;
	st_vas_fr_common_type 			vas_FrRegisterProgressSts;
	st_vas_fr_common_type			vas_FrMsgLost;
}st_fr_type;


typedef struct
{
	Type_uByte data;
	Type_uByte resv[3];
}st_vas_vims_common_type;

typedef struct
{
	Type_uHWord MMI_VIMS_Xcoordinate;
	Type_uHWord MMI_VIMS_Ycoordinate;
	Type_uByte MMI_VIMS_TouchEventType;

}st_avs_coordinate_event_type;

typedef struct
{
	st_vas_vims_common_type			vas_EnterCameraVideo;
	st_vas_vims_common_type			vas_VIMS_MMISystemStatus;
	st_vas_vims_common_type 		vas_VIMS_MMI_MuteReq;
	st_vas_vims_common_type			vas_VIMS_MMI_RacingReq;
	st_vas_vims_common_type			vas_VIMS_MMI_MusicLikeReq;
	st_vas_vims_common_type			vas_VIMS_MMI_GestureMuteResp;
	st_vas_vims_common_type 		vas_VIMS_MMI_GestureRacingResp;
	st_vas_vims_common_type 		vas_VIMS_MMI_GestureMusicLikeResp;
	st_vas_vims_common_type			vas_VIMS_MMI_CameraSoundReq;

	st_avs_coordinate_event_type	avs_coordinate_event;
}st_vims_tyoe;

typedef struct
{
	Type_uByte AVASSwitchSet;
	Type_uByte AVASVolumeSet;
	Type_uByte resv[2];
}st_avs_phev_avas_type;

typedef struct
{
	Type_uByte NavigationMod_indicator;
	Type_uByte currtroadcondition;
	Type_uByte Currtroadcongestionlev;
	Type_uByte Currcngestroad_Length[2];
	Type_uByte Nextroadcongestionlev;
	Type_uByte DistancetoNextcngestroad[2];
	Type_uByte Nextcngestroad_Length[2];
	Type_uByte resv[2];
}st_avs_green_travel_type;


typedef struct
{
	Type_uByte data;
	Type_uByte resv[3];
}st_vas_phev_common_type;

typedef struct
{
	Type_uByte chargeConnectorSts;
	Type_uByte vehChargeSts;
	Type_uByte bookChargeSts;
	Type_uByte chargePowerSts;
}st_vas_phev_chargeSts_type;

typedef struct
{
	Type_uByte AVASSwitchResp;
	Type_uByte AVASVolumeResp;
	Type_uByte resv[2];
}st_vas_phev_avas_type;

typedef struct
{
	Type_uByte phevMsgType;
	Type_uByte phevMsgLostSts;
	Type_uByte resv[2];
}st_vas_phev_msgLost_type;

typedef struct
{
	Type_uByte EMS_RBSModeDisplay;
	Type_uByte BMSH_stMode;
	Type_uHWord VCU_EVDTEodometer;
	Type_uHWord BMSH_ACChgTimeRemain;
	Type_uHWord BMSH_BattSOC;
	Type_uHWord BMSH_BattCurr;
	Type_uHWord BMSH_BattSOCDisp; 
	Type_uHWord BMSH_HVBusVolt;
	Type_uHWord BMSH_DCChgPwr; 

	Type_uHWord OBC_uInAct; 
	Type_uHWord OBC_iInAct;
	

    Type_uHWord VCU_EVDTEodometerDyn; 
	Type_uHWord VCU_EVDTEodometerDynDisChg; 
	Type_uByte VCU_ChrgDischrgPwrAct; 

}st_vas_RBSModeDisplay_type;

typedef struct
{
	Type_uByte VCU_Discharge_SOC_value;
	Type_uByte OBC_OnBdDisChrgrCCline;
	Type_uByte BMSH_FastChgCC2ConntState;
	Type_uByte resv;
}st_vas_Discharge_SOC_type;

typedef struct
{
	st_avs_phev_avas_type		avs_avasResp;

	st_vas_phev_chargeSts_type	vas_chargeSts;
	st_vas_phev_common_type		vas_noPluginModeResp;
	st_vas_phev_common_type		vas_saveModeResp;
	st_vas_phev_avas_type		vas_avasResp;
	st_vas_phev_msgLost_type	vas_phevMsgLost;
	st_vas_phev_common_type		vas_VCU_SOCpointSetsts;
	st_vas_RBSModeDisplay_type	vas_RBSModeDisplay;
    st_vas_phev_common_type		vas_ThermalOutofControl;
    st_vas_Discharge_SOC_type	vas_Discharge_SOC_value;
	st_vas_phev_common_type		vas_Green_Travel;
	st_vas_phev_common_type		vas_RegencyLevelSwReq;
	st_vas_phev_common_type		vas_touchpad;

	st_avs_green_travel_type	avs_green_travel_typeSet;
}st_phev_type;

#pragma pack(1)
typedef struct
{
	Type_uByte LongitudeType;
	Type_uByte LongitudeFixedSts;
	Type_uByte LatitudeType;
	Type_uByte LatitudeFixedSts;
	Type_uWord LongitudeInfo;
	Type_uWord LatitudeInfo;
	Type_uByte GSASts;
	Type_uByte GGASts;
	Type_uWord ElevationInfo;
	Type_uByte resvd[2];
}st_avs_gpsInfoSet_type;
#pragma pack()

typedef struct
{
	st_avs_gpsInfoSet_type		avs_gpsInfoSet;
}st_gpsInfo_type;

typedef struct
{
	Type_uByte XCoordinate[2];
	Type_uByte YCoordinate[2];
	Type_uByte TouchEvent;
	Type_uByte resvd[3];
}st_avs_vims_touch_set_type;

typedef struct
{
	Type_uByte  data;
	Type_uByte resv[3];
}st_vas_vism_common_type;

typedef struct
{
	st_avs_vims_touch_set_type		avs_vims_touchInfo_Set;

	st_vas_vism_common_type			vas_vims_enterOrExit;
	st_vas_vism_common_type			vas_vims_gestureMute;
	st_vas_vism_common_type			vas_vims_gestureRacing;
	st_vas_vism_common_type			vas_vims_gestureMusicLike;
	st_vas_vism_common_type			vas_vims_systemSts;
	st_vas_vism_common_type			vas_vims_muteReq;
	st_vas_vism_common_type			vas_vims_racingReq;
	st_vas_vism_common_type			vas_vims_musicLikeReq;
	st_vas_vism_common_type			vas_vims_cameraSoundReq;
}st_vimsInfo_type;

typedef struct
{
 	Type_uByte ModSts;
	Type_uByte EpasFailed;
	Type_uByte ModsetInhibit;
	Type_uByte resvd;
}st_avs_eps_info_type;

typedef struct
{
	Type_uByte  data;
	Type_uByte resv[3];
}st_vas_eps_common_type;

typedef struct
{
	st_avs_eps_info_type		avs_eps_info;

	st_vas_eps_common_type		vas_eps_dmCorrelativeMode;
	st_vas_eps_common_type		vas_eps_modSetSelection;
}st_epsInfo_type;

typedef struct
{
	Type_uByte evaSwitch;
	Type_uByte evaLevel;
	Type_uByte resv[2];
}st_avs_evaSet;

typedef struct
{
	Type_uByte  MMI_UserID;
    Type_uByte  MMI_UserIDType;
	Type_uByte resv[2];
}st_avs_MMIUser;


typedef struct
{
	Type_uByte evaAvailable;
	Type_uByte evaSwitch;
	Type_uByte evaLevel;
	Type_uByte resv;
}st_vas_evaSetResp;

typedef struct
{
	Type_uByte FrontWiperServiceModeReqSts;
	Type_uByte BCM_FailReason2MMI;
	Type_uByte rev[2];
}st_vas_FrontWiper_type;

typedef struct
{
	Type_uByte VCU_ShowModeEnable;
	Type_uByte ESC_ShowModeEnable;
	Type_uByte rev[2];
}st_vas_ShowMode_type;

typedef struct
{
	Type_uByte  data;
	Type_uByte resv[3];
}st_avs_common_type;

typedef struct
{
	st_avs_common_type  avs_common;
}st_common_type;

typedef struct
{
	Type_uByte dualTemp[2];
	Type_uByte resv[2];
}st_avs_ac_dualTemp_type;

typedef struct
{
	Type_uByte AFUSwitchSet;
	Type_uByte FraganceTaste;
	Type_uByte FraganceConcentration;
	Type_uByte resv;
}st_avs_ac_AFU_type;

typedef struct
{
#ifdef _LITTLE_ENDIAN
	Type_uByte VenOntimeSwitch:4;
	Type_uByte VenOntimeSetType:4;
#else
	Type_uByte VenOntimeSetType:4;
	Type_uByte VenOntimeSwitch:4;
#endif
	Type_uByte VenOntimeMorningSet;
	Type_uByte VenOntimeAfternoonSet;
	Type_uByte VenOntimeEveningSet;
}st_avs_ac_VentOnTimeReq_type;


typedef struct
{
	Type_uByte DrvHeatReq;
	Type_uByte PassHeatReq;
	Type_uByte DrvVentReq;
	Type_uByte PassVentReq;
}st_avs_ac_SeatHeatVentReq_type;

typedef struct
{
	Type_uByte PM25PopupActive;
	Type_uByte PM25PopupOpSts;
	Type_uByte resv[2];
}st_avs_ac_PM25PopupReq_type;

typedef struct
{
	Type_uByte  data;
	Type_uByte resv[3];
}st_vas_ac_common_type;

typedef struct
{
	Type_uByte data[2];
	Type_uByte resv[2];
}st_vas_ac_PM25DEN_type;

typedef struct
{
	Type_uByte parkingACStatus;
	Type_uByte parkingACFailStatus;
	Type_uByte resv[2];
}st_vas_ac_ParkingAC_type;

typedef struct
{
	Type_uByte AFUSwitchResp;
	Type_uByte FraganceTaste;
	Type_uByte FraganceConcentration;
	Type_uByte AirFragCh1Type;
	Type_uByte AirFragCh2Type;
	Type_uByte AirFragCh3Type;
	Type_uByte FraganceRatio;
	Type_uByte AC_TransmitInfo_374_signal_lost;
}st_vas_ac_Fragance_type;

typedef struct
{
	Type_uByte DrvHeatResp;
	Type_uByte PassHeatResp;
	Type_uByte DrvVentResp;
	Type_uByte PassVentResp;
}st_vas_ac_SeatHeatVentResp_type;

typedef struct
{
#ifdef _LITTLE_ENDIAN
	Type_uByte VenOntimeSwitchStatus:4;
	Type_uByte VenOntimeSetTypeResp:4;
#else
	Type_uByte VenOntimeSetTypeResp:4;
	Type_uByte VenOntimeSwitchStatus:4;		//bit 0~3
#endif
	Type_uByte VenOntimeMorningResp;
	Type_uByte VenOntimeAfternoonResp;
	Type_uByte VenOntimeEveningResp;
}st_vas_ac_VentOnTimeResp_type;

typedef struct
{
	Type_uByte AC_ACSwToneSetSts;
	Type_uByte AC_PressSoundReq;
	Type_uByte res[2];
}st_vas_ac_sound_type;

typedef struct
{
	Type_uByte RHVSM_RLHeatingSts;
	Type_uByte RHVSM_RRHeatingSts;
	Type_uByte RHVSM_RLVentSts;
	Type_uByte RHVSM_RRVentSts;
}st_vas_ac_RHVSM_type;

typedef struct
{
	Type_uByte MMI_RLVentReq;
	Type_uByte MMI_RRVentReq;
	Type_uByte MMI_RXVentReq_Judge;
	Type_uByte resv;
}st_avs_ac_RHVSM_type;

typedef struct
{
	st_avs_ac_dualTemp_type avs_DualTemp;
	st_avs_ac_AFU_type 		avs_Fragance;
	st_avs_ac_VentOnTimeReq_type	avs_VentOnTimeSet;
	st_avs_ac_SeatHeatVentReq_type	avs_SeatHeatVent;
	st_avs_ac_PM25PopupReq_type		avs_PM25PopupResp;
	
	st_vas_ac_common_type	vas_AcKey;
	st_vas_ac_common_type	vas_MaxAcKey;
	st_vas_ac_common_type	vas_FrontDefrostKey;
	st_vas_ac_common_type	vas_RearDefrostKey;
	st_vas_ac_common_type	vas_BlowerFanLevel;
	st_vas_ac_common_type	vas_AirDistributionMode;
	st_vas_ac_common_type	vas_LeftSetTemp;
	st_vas_ac_common_type	vas_RightSetTemp;
	st_vas_ac_common_type	vas_DualKey;
	st_vas_ac_SeatHeatVentResp_type		vas_SeatHeatVentResp;
	st_vas_ac_common_type	vas_AutoKey;
	st_vas_ac_common_type	vas_FreshReciKey;
	st_vas_ac_common_type	vas_AqsKey;
	st_vas_ac_common_type	vas_IONIZERKey;
	st_vas_ac_common_type	vas_OnKey;
	st_vas_ac_common_type	vas_DisplayReq;
	st_vas_ac_PM25DEN_type	vas_PM25InDEN;
	st_vas_ac_PM25DEN_type	vas_PM25OUTDEN;
	st_vas_ac_common_type	vas_AirInQLevel;
	st_vas_ac_common_type	vas_AirOutQLevel;
	st_vas_ac_common_type	vas_PM25Popup;
	st_vas_ac_common_type	vas_KeyTouchst;
	st_vas_ac_common_type	vas_keystate;
	st_vas_ac_common_type	vas_swHeatingstate;
	st_vas_ac_common_type	vas_fwHeatingstate;
	st_vas_ac_common_type	vas_GcleanKeyState;
	st_vas_ac_ParkingAC_type vas_parkingACState;
	st_vas_ac_common_type	vas_PM25State;
	st_vas_ac_common_type	vas_EcoMode;
	st_vas_ac_Fragance_type	vas_Fragance;
	st_vas_ac_common_type	vas_VentilaDry;
	st_vas_ac_common_type	vas_CZISopen;
	st_vas_ac_VentOnTimeResp_type	vas_VentOnTimeResp;
	st_vas_ac_common_type	vas_msgLost;
    st_vas_ac_common_type	vas_AC_RCPState;
    st_vas_ac_common_type	vas_AC_AirClean;
    st_vas_ac_common_type	vas_AC_ACComfortResp;
    st_vas_ac_sound_type	vas_AC_Sound;
    st_vas_ac_RHVSM_type	vas_AC_RHVSM;
    st_avs_ac_RHVSM_type	avs_AC_RHVSM;
	st_vas_ac_common_type	vas_AC_ACForbiddenrReminder;
}st_ac_type;

typedef struct
{
	Type_uByte  data;
	Type_uByte resv[3];
}st_vas_vehSet_common_type;

//3.13
typedef struct
{
	st_avs_ADASSetting_type     avs_ADASSet;
	st_avs_evaSet				avs_evaSet;
    st_avs_MMIUser              avs_mmiuser;
	st_vas_ADASResponse_type    vas_ADASResp;
	st_vas_vehSet_common_type	vas_RearMirrorFold;
	st_vas_vehSet_common_type	vas_WarnType;
	st_vas_vehSet_common_type	vas_DayRunLight;
	st_vas_vehSet_common_type	vas_WindowVentilate;
	st_vas_vehSet_common_type	vas_AutoCloseWindow;
	st_vas_vehSet_common_type	vas_APUCfg;
	st_vas_vehSet_common_type	vas_ESCCfg;	
	st_vas_vehSet_common_type	vas_SATOCfg;
	st_vas_vehSet_common_type	vas_WALCfg;
	st_vas_vehSet_common_type	vas_WelcomeLight;
	st_vas_vehSet_common_type	vas_RearMirrorReverseIncline;
	st_vas_vehSet_common_type	vas_SailingSwitch;
	st_vas_vehSet_common_type	vas_EasyAccess;
	st_vas_vehSet_common_type	vas_MmryScsIndReq;
	st_vas_vehSet_common_type	vas_TrunkUpBasicPosition;
	st_vas_vehSet_common_type	vas_BCMATWS;
	st_vas_vehSet_common_type	vas_MemorySet;
	st_vas_vehSet_common_type	vas_FollowMeHomeTimeSelect;
	st_vas_vehSet_common_type	vas_IGNOFFUnlockDoorSelectResp;
	st_vas_vehSet_common_type	vas_RLSModeSts;
	st_vas_vehSet_common_type	vas_TrunkUnlockDistanceCfgResult;
	st_vas_vehSet_common_type	vas_VehicleSpeedAutoLockSetResp;
	st_vas_vehSet_common_type	vas_RKEUnlockSetResp;
	st_vas_vehSet_common_type	vas_AntiPinchWarnSetResp;
	st_vas_vehSet_common_type	vas_FlasherAnimControlSetResp;
	st_vas_vehSet_common_type	vas_RearWiperAutoActiveAtReverseResp;
	st_vas_vehSet_common_type	vas_AFSActiveResp;
	st_vas_evaSetResp			vas_evaSetResp;
	st_vas_vehSet_common_type	vas_FrontWiperIdleModeSetResp;
	st_vas_vehSet_common_type	vas_WashingModeSetResp;
	st_vas_vehSet_common_type	vas_DoorControlLight_Req;
	st_vas_vehSet_common_type	vas_BCM_SVC_ButtonPress;
	st_vas_vehSet_common_type	vas_AnimLightTypeSetResp;
	st_vas_vehSet_common_type	vas_Trip1_Rst;
	st_vas_vehSet_common_type	vas_Rst_Trip2Req;
	st_vas_FrontWiper_type		vas_FrontWiper;
	st_vas_vehSet_common_type   vas_BCM_HeadlightAdjustmentSts;
	st_vas_vehSet_common_type   vas_BCM_ExternalLockingReimnd;
	st_vas_vehSet_common_type	vas_PEPS_PowerkeepTimeSetResp;
	st_vas_vehSet_common_type	vas_FRS_ALOD_Mode;
	st_vas_vehSet_common_type	vas_PEPS_WarnEmergencyOFF;
	st_vas_ShowMode_type		vas_ShowMode;
    
}st_VehSet_alc1_type;

typedef struct
{
	Type_uByte  data;
	Type_uByte resv[3];
}st_vas_apa_common_type;

typedef struct
{
	Type_uByte  PAS_APA_Quit_Indication;
	Type_uByte  PAS_APA_Recover_INT_Indication; 
	Type_uByte  PAS_APA_DrRqst;
	Type_uByte  PAS_APA_Parkslot_State; 
	Type_uByte  PAS_APA_ButtonPress;
	Type_uByte  PAS_APA_SelectedSide;
	Type_uByte  PAS_APA_Indication;
	Type_uByte  PAS_APA_Status;
	Type_uByte  PAS_APA_Process_bar;
	Type_uByte resv[3];
}st_vas_apa_union_type;

typedef struct
{
	Type_uByte  PAS_AVP_RP_VideoTranCtrlReq : 1;
	Type_uByte  PDC_StopDisplayRequest_Rear : 1;
	Type_uByte  PDC_StopDisplayRequest_Front : 1;
	Type_uByte  rsv2 : 5;
	
	Type_uByte  PDC_NearestDistance_Rear[2];
	Type_uByte  PDC_NearestDistance_Front[2];
	
	uint8 rsv0[3];
}st_vas_apa_info_type;

typedef struct
{
	st_vas_apa_common_type	vas_SystemSts;
	st_vas_apa_common_type	vas_AutoSearchSts;
	st_vas_apa_common_type	vas_ParkOutChkResult;
	st_vas_apa_common_type	vas_CurrentPathNum;
	st_vas_apa_common_type	vas_TotalPathNum;
	st_vas_apa_common_type	vas_SuspendedReason;
	st_vas_apa_common_type	vas_AbortReason;
	st_vas_apa_common_type	vas_CurrentParkType;
	st_vas_apa_common_type	vas_OverrideReason;
	st_vas_apa_common_type	vas_VehicleDirection;
	st_vas_apa_common_type	vas_CurrentStepNum;
	st_vas_apa_common_type	vas_TerminatedType;
	st_vas_apa_common_type	vas_ParkOutSystemStatus;
	st_vas_apa_union_type	vas_QuitIndication;
	st_vas_apa_common_type	vas_DrRequest;
	st_vas_apa_common_type	vas_ApaStatus;
	st_vas_apa_common_type	vas_ApaMsgLost;
	st_vas_apa_common_type	vas_speedstate30;
	st_vas_apa_info_type	vas_papInfo;

}st_apa_type;

typedef struct
{
	Type_uByte  data;
	Type_uByte resv[3];
}st_vas_dvr_common_type;

typedef struct 
{
	Type_uByte CommandRespList;
	Type_uByte CommandResult;
}st_vas_CommandRespList_Result_type;

typedef struct
{
	Type_uByte ssid[6];
	Type_uByte password[8];
	Type_uByte WIFI_ConnectStatus;

}st_avs_dvr_wifi_type;

typedef struct
{
	st_vas_dvr_common_type	vas_TapeSts;
	st_vas_dvr_common_type	vas_ResolutionSts;
	st_vas_dvr_common_type	vas_RecordingCycleSts;
	st_vas_dvr_common_type	vas_SDFormat;
	st_vas_dvr_common_type	vas_RestoreFactory;
	st_vas_dvr_common_type	vas_EnterUpdateMode;
	st_vas_dvr_common_type	vas_Home;
	st_vas_CommandRespList_Result_type	CommandRespList_Result;
	st_vas_dvr_common_type	vas_CurrentVideoCounts;
	st_vas_dvr_common_type  vas_ControlRequest;
	st_vas_dvr_common_type	vas_SystemSts;
	st_vas_dvr_common_type	vas_SDcardSts;
	st_vas_dvr_common_type	vas_SystemVersionSts;
	st_vas_dvr_common_type	vas_CurrentVideoLockSts;
	st_vas_dvr_common_type	vas_msg_lost;
	st_vas_dvr_common_type	vas_speedstate15;
	st_avs_dvr_wifi_type avs_wifi;
	st_vas_dvr_common_type	vas_BCM1F0Status;
	st_vas_dvr_common_type	FRS1A21A3Status;
	st_vas_dvr_common_type	FCS1B0Status;
	st_vas_dvr_common_type	RSRS2E4Status;
	st_vas_dvr_common_type	EPSInfo150Status;
	st_vas_dvr_common_type	IPK_STS26DStatus;
	st_vas_dvr_common_type	IPK_SWSM26FStatus;
	st_vas_dvr_common_type	BCM_Roll290Status;
	st_vas_dvr_common_type	IPK_Trip12C5Status;
	st_vas_dvr_common_type	IPK_Trip22C6Status;
	st_vas_dvr_common_type	IPK_TO3F1Status;
	st_vas_dvr_common_type	IPK_Fuel3F6Status;
	st_vas_dvr_common_type	ESC_Regen128Status;
	st_vas_dvr_common_type	BCM_LDoorWindowState285tatus;
	st_vas_dvr_common_type	VCU_EnergyConsumption315Status;
	st_vas_dvr_common_type	CDDlgmPropFr012EAStatus;
	st_vas_dvr_common_type	VCU_EnergyConsumption13A2Status;
	st_vas_dvr_common_type	VCU_InforCAN214Status;
	st_vas_dvr_common_type	OBC_Curr221Status;
	st_vas_dvr_common_type	CddIgmPropFr05339Status;
	st_vas_dvr_common_type	VCU_Ctrl162Status;

}st_dvr_type;


typedef struct
{
	Type_uByte data;
	Type_uByte resv[3];
}st_vas_obc_common_type;

typedef struct
{
	Type_uHWord data;
	Type_uByte resv[2];
}st_vas_obc_common_more_type;

typedef struct
{
	st_vas_obc_common_type			vas_OBC_MaxACInpISetFdb;
	st_vas_obc_common_type			vas_OBC_OnBdDisChrgrCCline_EV;
	st_vas_obc_common_more_type		vas_OBC_OnBdDisChrgrEnergy;
	st_vas_obc_common_type			vas_OBC_DischrgPwrExceedWarn;
	st_vas_obc_common_more_type		vas_OBC_TotDischTime;
}st_obc_type;

typedef struct
{
	Type_uByte data;
	Type_uByte resv[3];
}st_vas_bmsh_common_type;

typedef struct
{
	Type_uHWord data;
	Type_uByte resv[2];
}st_vas_bmsh_common_more_type;

typedef struct
{
	st_vas_bmsh_common_type		vas_BMSH_V2XdchaSwtFb;
	st_vas_bmsh_common_type		vas_BMSH_DchaStopReasonIndcn;
	st_vas_bmsh_common_more_type vas_BMSH_BattRatedEnergy;
}st_bmsh_type;

typedef struct
{
	Type_uByte data;
	Type_uByte resv[3];
}st_vas_vcu_common_type;

typedef struct
{
	Type_uHWord data;
	Type_uByte resv[2];
}st_vas_vcu_common_more_type;

typedef struct
{
	Type_uByte VCU_TrlrModPrpsnSts;
	Type_uByte VCU_TrlrModRemind;
	Type_uByte ESC_TrlrModBCSts;
} st_vas_trailer_sts_info_type;

typedef struct
{
	Type_uHWord VCU_PwrCnsAvg;
	Type_uByte VCU_AvgCnsDstSg;
	Type_uByte resv;
}st_vas_vcu_PwrCnsAvg_type;

typedef struct 
{
	st_vas_vcu_common_more_type 	vas_VCU_EVDTEodometerDisChg;
	st_vas_trailer_sts_info_type    vas_trailer_sts_info;
	st_vas_vcu_common_more_type     vas_VCU_DrvPwrAct;
	st_vas_vcu_common_type       	vas_VCU_ThermalPwrAct;
	st_vas_vcu_common_type       	vas_VCU_DCDCPwrAct;
	st_vas_vcu_PwrCnsAvg_type		vas_VCU_PwrCnsAvg;
	st_vas_vcu_common_more_type     vas_VCU_PwrCnsAvg1;
	st_vas_vcu_common_type			vas_VCU_CruiseSwitchSts;
	st_vas_vcu_common_type	        vas_VCU_CruiseControlSts;
	st_vas_vcu_common_type     		vas_VCU_SaveElecSwitchModeFctSts;
}st_vcu_type;

typedef struct
{
	Type_uByte ESC_cst_status;
	Type_uByte ESC_CST_Switch_available;
}st_vas_esc_cst_sts_info_type;

typedef struct
{
	Type_uByte ESC_VBF_status;
	Type_uByte ESC_VBF_Switch_available;
}st_vas_esc_vbf_sts_info_type;

typedef struct
{
	Type_uHWord data;
	Type_uByte resv[2];	
}st_vas_esc_RoadInclnRoadIncln_info_type;

typedef struct
{
	st_vas_esc_cst_sts_info_type vas_esc_cst_sts_info;
	st_vas_esc_vbf_sts_info_type vas_esc_vbf_sts_info;
	st_vas_esc_RoadInclnRoadIncln_info_type vas_ESC_RoadInclnRoadIncln;
}st_esc_type;

typedef struct
{
    uint8  MMI_iTPMS_reset_Request;
    uint8 Resvd[3];
}st_avs_iTPMS_reset_Request_type;



typedef struct
{
	st_Vin_alc1_type vb_vin;
	st_Door_alc1_type vb_door;
	st_Ipk_alc1_type  vb_ipk;
	st_Tyre_alc1_type   vb_tpre;
	st_Radar_alc1_type  vb_radar;
	st_Security_alc1_type vb_secu;
	st_Power_alc1_type    vb_power;
	st_Lamp_alc1_type    vb_lamp;
	st_Key_alc1_type     vb_key;
	st_Can_alc1_type     vb_can;
	st_VehSet_alc1_type  vb_VehSet;
	st_avm_type vb_avmInfo;
	st_common_type vb_common;
	st_ac_type vb_acInfo;
	st_apa_type vb_apaInfo;
	st_dvr_type vb_dvrInfo;
	st_fr_type vb_frInfo;
	st_vims_tyoe vb_vimsinfo;
	st_phev_type vb_phevInfo;
	st_gpsInfo_type vb_gpsInfo;
	st_vimsInfo_type vb_vimsInfo;	
	st_epsInfo_type vb_epsInfo;

	st_obc_type 	vb_obcInfo;
	st_bmsh_type 	vb_bmshInfo;
	st_vcu_type 	vb_vcuInfo;
	st_esc_type 	vb_escInfo;
}st_vb_alc0_type;

/*************************************MMI Structure8*****************************************/

typedef struct
{
    Type_uByte Ecp_Version[16];
}st_vas_EcpVersion_type;

typedef struct   //4.1
{
    st_vas_EcpVersion_type vas_EcpVersion;
}st_EcpVersion_type;

#if 0
typedef struct
{
    Type_uByte  MpuSoftVersion[16]; //c3=1
    Type_uByte  XdsnNum[28]; // c3=2
    Type_uByte  IhuIdNum[28]; // c3=3
    Type_uByte  VechConfg[32]; //c3=4
    Type_uByte  VechType[16]; //c3=5
    Type_uByte  VechNetworkConfg[16]; //c3=6
    Type_uByte  WifiMacData[8];  // c3=7
    Type_uByte  LocalConfig[32];  // c3=8
    Type_uByte  VehConfigFlag[4];  // c3=9
}st_avs_DeviceInfo_type;
#endif

typedef struct
{
    Type_uByte  HwVersion[16];
    Type_uByte  McuSoftVersion [16];
    Type_uByte  McuSoftVersionDate[12];
//    Type_uByte  MpuSoftVersion[16];
//    Type_uByte  MpuSoftVersionDate[12];
    Type_uByte  OsdVersion[16];
    Type_uByte  XdsnNum[28];
    Type_uByte  IhuIdNum[28];
    Type_uByte  VechConfg[32];
    //Type_uByte  VechType[16];
    Type_uByte  VechNetworkConfg[16];
    Type_uByte  WifiMacData[8];
	Type_uByte  LocalConfig[40];
	Type_uByte  VehConfigFlag[4];
}st_vas_DeviceInfo_type;

typedef struct
{
	Type_uByte DeviceInfoCmd;
	Type_uByte resv[3];
}st_vag_DeviceInfo_type;

typedef struct   //4.2
{
    //st_avs_DeviceInfo_type avs_DeviceInfo;
    st_vas_DeviceInfo_type vas_DeviceInfo;
	st_vag_DeviceInfo_type vag_DeviceInfo;
}st_DeviceInfo_type;


typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte WakeupSource;
        Type_uByte  McuPowerSts;
        Type_uByte  Resvd[2];
    }B;
}st_vas_McuAwake_type;

typedef struct   //4.3.1
{
    st_vas_McuAwake_type vas_McuAwake;
}st_McuAwake_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte  MpuPowerSts;  //c3=1
        Type_uByte  FastSleepCmd ;  //c3=2
        Type_uByte  ApReady;
        Type_uByte  Resvd[1];
    }B;
}st_avs_MpuPower_type;

typedef struct   //4.3.2
{
    st_avs_MpuPower_type avs_MpuPower;
}st_MpuPower_type;

typedef struct  // 4.3.3
{
   Type_uByte HeartSts;
   Type_uByte resv[3];
}st_avs_HeartSts_type;

typedef struct
{
	Type_uByte  MpuRecoveryCmd;
	Type_uByte  Resvd[3];
}st_vas_RecoveryCmd_type;

typedef struct //4.3.4
{
	st_vas_RecoveryCmd_type  vas_RecoveryCmd;
}st_RecoveryCmd_type;

typedef struct   //4.3
{
    st_McuAwake_type McuAwake; 
    st_MpuPower_type MpuPower;
    st_RecoveryCmd_type RecoveryCmd;
}st_PowerStatus_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte  IllBrightLevl; 
		Type_uByte  BackLightLevl;
        Type_uByte  Resvd[2];
    }B;
}st_avs_BackLight_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte  IllBrightLevel; 
        Type_uByte  LcdEnStatus;
        Type_uByte  Resvd[2];
    }B;
}st_vas_BackLight_type;

typedef struct   //4.4.1
{
    st_avs_BackLight_type avs_BackLight;
    st_vas_BackLight_type vas_BackLight;
}st_BackLight_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte  VideoSource;
        Type_uByte  Resvd[3];
    }B;
}st_avs_VideoSource_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte  VideoSource;
        Type_uByte  Resvd[3];
    }B;
}st_vas_VideoSource_type;

typedef struct   //4.4.2
{
    st_avs_VideoSource_type avs_VideoSource; 
    st_vas_VideoSource_type vas_VideoSource;
}st_VideoSource_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte  BlindCameraSwitch;
        Type_uByte  ReverseLineSwitch;
        Type_uByte  HighTrunningEnterAVMFuncSwitch;
        Type_uByte  RVCViewDispalySwitch;
    }B;
}st_avs_DisplaySet_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte  BlindCameraSwitch;
        Type_uByte  ReverseLineSwitch;
		Type_uByte  SVC_ButtonPress;
        Type_uByte  RVCViewDispalySwitch;
    }B;
}st_vas_DisplaySet_type;


typedef union
{
    Type_uByte R[4];
    struct
    {
    	Type_uByte  DayNightSet;
        Type_uByte  Resvd[3];
    }B;

}st_avs_DayNightSet_type;


typedef struct   //4.4.3
{
    st_avs_DisplaySet_type avs_DisplaySet; 
    st_vas_DisplaySet_type vas_DisplaySet;
}st_DisplaySet_type;

typedef struct   //4.4
{
    st_BackLight_type BackLight;
    st_VideoSource_type VideoSource;
    st_DisplaySet_type DisplaySet;
    st_avs_DayNightSet_type avs_DayNightSet;
}st_Display_type;



typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte  data;
        Type_uByte  Resvd[3];
    }B;
}st_avs_AvasComm_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte  PaVolState;
        Type_uByte  VoiceModuleMode;
        Type_uByte  Resvd[2];
    }B;
}st_avs_VoiceSetCmd_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte  ExtMuteState;
		Type_uByte  APMuteCommandResult;
        Type_uByte  Resvd[2];
    }B;
}st_vas_VoiceSetCmd_type;

typedef struct    //4.5
{
    st_avs_VoiceSetCmd_type avs_VoiceSetCmd;
    st_vas_VoiceSetCmd_type vas_VoiceSetCmd;
}st_VoiceSet_type;

typedef struct
{
    st_avs_AvasComm_type avs_AvasSetFreq;
    st_avs_AvasComm_type avs_AvasSetMute;
}st_AvasSet_type;

typedef  struct
{
	Type_uByte  cmdType; 
	Type_uByte  cmdValue; 
    Type_uByte  resv[2];
}st_avs_HubCmd_type; 

typedef struct
{
	Type_uByte hubSta;
	Type_uByte resv[3];
}st_vas_hubSta_type;

typedef struct   //4.6.1
{
    st_avs_HubCmd_type avs_4gUsbHubCmd; 
	st_vas_hubSta_type	vas_4gUsbHubSta;
}st_4gUsbHubCmd_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte WirelessCmd;
        Type_uByte Resvd[3];
    }B;
}st_avs_WirlesCharg_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte WirelessSts;
        Type_uByte Resvd[3];
    }B;
}st_vas_WirlesCharg_type;

typedef struct    //4.6.2
{
    st_avs_WirlesCharg_type avs_WirlesCharg;
    st_vas_WirlesCharg_type vas_WirlesCharg;
}st_WirlesCharg_type;

typedef struct   //4.6
{
    st_4gUsbHubCmd_type _4gUsbHubCmd;
    st_WirlesCharg_type WirlesCharg;
}st_Peripheral_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte DrCruiseCmd;
        Type_uByte Resvd[3];
    }B;
}st_avs_DrCruise_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte DrCruiseSts;
        Type_uByte DrInstantSpeed[2];
        Type_uByte Resvd[1];
    }B;
}st_vas_DrCruise_type;

typedef struct    //4.7
{
    st_avs_DrCruise_type avs_DrCruise;
    st_vas_DrCruise_type vas_DrCruise;
}st_DrCruise_type;

typedef union
{
    Type_uByte R[4];
    struct
    {
        Type_uByte LogCmd;
        Type_uByte Resvd[3];
    }B;
}st_avs_LogCmd_type;

typedef struct
{
    char LogInfo[256];
}st_vas_LogData_type;

typedef struct     //4.8
{
    st_avs_LogCmd_type avs_LogCmd;
    st_vas_LogData_type vas_LogData;
}st_LogTest_type;

#if 0
typedef  struct
{
	Type_uByte  IccidValue[20];  //c1
	Type_uByte  ImsiNum[16];  //c2
	Type_uByte  ImeiNum[16];	//c3
	Type_uByte  TboxNum[16];  //c4
	Type_uByte  PublicApnAddr[64];   //c5
	Type_uByte  PublicApnNName[32];   //c6
	Type_uByte  PublicApnPassword[32];  //c7
	Type_uByte  PrivateApnAddr[64];   //c8
	Type_uByte  PrivateApnName[32];   //c9
	Type_uByte  PrivateApnPassword[32];  //c10
}st_avs_TboxConfg_type;
#endif

typedef struct
{
	Type_uByte  IccidValue[20];
	Type_uByte  ImsiNum[16];
	Type_uByte  ImeiNum[16];
	Type_uByte  TboxNum[16];
	Type_uByte  PublicApnAddr[64];
	Type_uByte  PublicApnNName[32];
	Type_uByte  PublicApnPassword[32];
	Type_uByte  PrivateApnAddr[64];
	Type_uByte  PrivateApnName[32];
	Type_uByte  PrivateApnPassword[32];
}st_vas_TboxConfg_type;

typedef struct     //4.9
{
	//st_avs_TboxConfg_type avs_TboxConfg;
	st_vas_TboxConfg_type vas_TboxConfg;
}st_TboxConfg_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte UpgradeCmd;
		Type_uByte Resvd[3];
	}B;
}st_avs_SwUpgrade_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte UpgradeCmd;
		Type_uByte Resvd[3];
	}B;
}st_vas_SwUpgrade_type;

typedef struct   //4.10
{
	st_avs_SwUpgrade_type avs_SwUpgrade;
	st_vas_SwUpgrade_type vas_SwUpgrade;
}st_SwUpgrade_type;



typedef struct    //4.11
{
	Type_uByte DeviceType;
	Type_uByte resvd[3];
}st_avg_DeviceWarn_type;


typedef struct
{
	Type_uByte USB_ChargeSts;
	Type_uByte resvd[3];	
}st_vas_DeviceWarn_type;

typedef struct    //4.11
{
	st_avg_DeviceWarn_type avg_DeviceWarn;
	st_vas_DeviceWarn_type vas_DeviceWarn;
}st_DeviceWarn_type;

typedef struct
{
	Type_uByte checkATWSFlag;
	Type_uByte resvd[3];	
}st_vas_ATWS_type;

typedef struct
{
	st_vas_ATWS_type vas_ATWSCheck;
}st_ATWSCheck_type;

typedef struct
{
	Type_uHWord tempValue;
	Type_uByte resvd[2];
} st_vas_TempValue_type;

typedef struct
{
	st_vas_TempValue_type vas_TempValue;
} st_TempValue_type;

typedef struct
{
	uint8 VehicleSpeed;
	uint8 resvd[3];	
}st_vas_VehicleSpeed_type; 


typedef struct   //chapter-4
{
    st_EcpVersion_type  version;
    st_DeviceInfo_type  DeviceInfo;
    st_PowerStatus_type PowerStatus;
    st_Display_type     Display;
    st_VoiceSet_type    VoiceSet;
    st_Peripheral_type  Peripheral;
    st_DrCruise_type    DrCruise;
    st_LogTest_type     LogTest;
    st_TboxConfg_type   TboxConfg;
    st_SwUpgrade_type   SwUpgrade;
    st_DeviceWarn_type  DeviceWarn;
	st_ATWSCheck_type   ATWSCheck;
	st_TempValue_type 	TempValue;
	st_vas_VehicleSpeed_type	VSpeed;
	st_AvasSet_type		AvasSet;
}st_MmiInfo_alc0_type;

/*************************************Diagnostic Structure*****************************************/
typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte CanBusSta;
		Type_uByte LinBusSts; 
		Type_uByte EtherBusSts;
		Type_uByte FlexRayBusSts;
	}B;
}st_vas_BusStatus_type;

typedef struct   //5.1
{
	st_vas_BusStatus_type vas_BusStatus;
}st_BusStatus_type;

typedef union
{
	Type_uByte R[8];
	struct
	{
		Type_uByte MainGpsSts;
		Type_uByte MainTunerSts;
		Type_uByte SendTunerSts;
		Type_uByte MainDabSts;
		Type_uByte SendDabSts;
		Type_uByte _4gModlSts;
		Type_uByte Resvd[2];
	}B;
}st_vas_AntenaSts_type;

typedef struct    //5.2
{
	st_vas_AntenaSts_type vas_AntenaSts;
}st_AntenaSts_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
	Type_uByte  MainMic1Sts;
	Type_uByte  SunMic2Sts;
	Type_uByte  Reversed[2];
	}B;
}st_vas_MicrSts_type;

typedef struct   //5.3
{
	st_vas_MicrSts_type vas_MicrSts;
}st_MicrSts_type;

typedef union
{
	Type_uByte R[8];
	struct
	{
		Type_uByte FL;
		Type_uByte RL;
		Type_uByte RR;
		Type_uByte FR;
		Type_uByte MIDDLE;
		Type_uByte Reserved[3];
	}B;
}st_vas_SpeakerSts_type;

typedef struct   //5.4
{
	st_vas_SpeakerSts_type vas_SpeakerSts;
}st_SpeakerSts_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte UsbType;
		Type_uByte Resvd[3];
	}B;
}st_vag_UsbSts_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte UsbType;
		Type_uByte Mode;
		Type_uByte Status;
		Type_uByte Resvd;
	}B;
}st_avs_UsbSts_type;

typedef struct   //5.5
{
	st_vag_UsbSts_type vag_UsbSts;
	st_avs_UsbSts_type avs_UsbSts;
}st_UsbSts_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte RadioMode;
		Type_uByte CurrentFreqMsb;
		Type_uByte CurrentFreqLsb;
		Type_uByte StereoFlag;
	}B;
}st_avs_RadioInfo_type;

typedef struct   //5.6
{
	st_avs_RadioInfo_type avs_RadioInfo;
}st_RadioInfo_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte DiskType;
		Type_uByte InfoType;
		Type_uByte Resvd[2];
	}B;
}st_vag_DiskInfo_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte DiskType;
		Type_uByte InfoType;
		Type_uByte NumMsb;
		Type_uByte NumLsb;
	}B;
}st_avs_DiskInfo_type;

typedef struct    //5.7
{
	st_vag_DiskInfo_type vag_DiskInfo;
	st_avs_DiskInfo_type avs_DiskInfo;
}st_DiskInfo_type;

typedef union
{
	Type_uByte R[20];
	struct
	{
		Type_uByte BtMacAddress[17];
		Type_uByte Resvd[3];
	}B;
}st_avs_BtMacInfo_type;

typedef struct    //5.8
{
	st_avs_BtMacInfo_type avs_BtMacInfo;
}st_BtMacInfo_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte CtrlMode;
		Type_uByte Resvd[3];
	}B;
}st_avs_SwcCtrlSts_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte CtrlMode;
		Type_uByte Resvd[3];
	}B;
}st_vas_SwcCtrlSts_type;

typedef struct   //5.9
{
	st_avs_SwcCtrlSts_type avs_SwcCtrlSts;
	st_vas_SwcCtrlSts_type vas_SwcCtrlSts;
}st_SwcCtrlSts_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte Status;
		Type_uByte Resvd[3];
	}B;
}st_vas_WtdSts_type;

typedef struct   //5.10
{
	st_vas_WtdSts_type vas_WtdSts;
}st_WtdSts_type;

typedef union
{
	Type_uByte R[12];
	struct
	{
		Type_uByte BtName[10];
		Type_uByte Resvd[2];
	}B;
}st_vas_BtNameInfo_type;

typedef struct   //5.11
{
	st_vas_BtNameInfo_type vas_BtNameInfo;
}st_BtNameInfo_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte  Value;
		Type_uByte  Resvd[3];
	}B;
}st_avs_ILLValue_type;

typedef struct   //5.12
{
	st_avs_ILLValue_type avs_ILLValue;
}st_ILLValue_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte  Value;
		Type_uByte  Resvd[3];
	}B;
}st_avs_RadioSignalStr_type;

typedef struct   //5.13
{
	st_avs_RadioSignalStr_type avs_RadioSignalStr;
}st_RadioSignalStr_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte  Value;
		Type_uByte  Resvd[3];
	}B;
}st_avs_CarNetLinkStr_type;

typedef struct   //5.14
{
	st_avs_CarNetLinkStr_type avs_CarNetLinkStr;
}st_CarNetLinkStr_type;

typedef union
{
	Type_uByte R[8];
	struct
	{
		Type_uByte  BassStep;
		Type_uByte  MiddleStep;
		Type_uByte  TrebleStep;
		Type_uByte  BassStepBalanceStep;
		Type_uByte  FaderStep;
		Type_uByte  Resvd[3];
	}B;
}st_avs_AudioSet_type;

typedef struct   //5.15
{
	st_avs_AudioSet_type avs_AudioSet;
}st_AudioSet_type;

typedef union
{
	Type_uByte R[12];
	struct
	{
		Type_uByte WifiName[10];
		Type_uByte Resvd[2];
	}B;
}st_avs_WifiName_type;

typedef struct   //5.16
{
	st_avs_WifiName_type avs_WifiName;
}st_WifiName_type;

typedef union
{
	Type_uByte R[20];
	struct
	{
		Type_uByte WifiMacAddr[17];
		Type_uByte Resvd[3];
	}B;
}st_avs_WifiMacAddr_type;

typedef struct   //5.17
{
	st_avs_WifiMacAddr_type avs_WifiMacAddr;
}st_WifiMacAddr_type;

typedef union
{
	Type_uByte R[8];
	struct
	{
		Type_uByte Year;
		Type_uByte Month; 
		Type_uByte Day;
		Type_uByte Hour; 
		Type_uByte Minute; 
		Type_uByte Second;
		Type_uByte Resvd[2];
	}B;
}st_avs_SysDate_type;

typedef struct   //5.18
{
	st_avs_SysDate_type avs_SysDate;
}st_SysDate_type;

typedef union
{
	Type_uByte R[8];
	struct
	{
		Type_uByte Longitude[4];
		Type_uByte Latitude[4];
	}B;
}st_avs_GNSSLocInfo_type;

typedef struct    //5.19
{
	st_avs_GNSSLocInfo_type avs_GNSSLocInfo;
}st_GNSSLocInfo_type;

typedef union
{
	Type_uByte R[12];
	struct
	{
		Type_uByte  GnssTime[7];
		Type_uByte  HDOP;
		Type_uByte  Speed;
		Type_uByte  Heading;
		Type_uByte  SatelittlesNums;
		Type_uByte  Resvd;
	}B;
}st_avs_GNSSLocPara_type;

typedef struct   //5.20
{
	st_avs_GNSSLocPara_type avs_GNSSLocPara;
}st_GNSSLocPara_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte  AudioSrc;
		Type_uByte  Volume;
		Type_uByte  Resvd[2];
	}B;
}st_avs_AudioInfo_type;

typedef struct   //5.21
{
	st_avs_AudioInfo_type avs_AudioInfo;
}st_AudioInfo_type;

typedef union
{
	Type_uByte R[24];
	struct
	{
		Type_uByte  TBOX;
		Type_uByte  BT;
		Type_uByte  TMP;
		Type_uByte  SOC_Video_Signal_Error;
		Type_uByte  Display_Content_Checkout_Error;
		Type_uByte  Display_CSD_Vol_High;
		Type_uByte  Display_CSD_Vol_Low;
		Type_uByte  Display_CSD_Fog_Module_Error;
		Type_uByte  Display_CSD_Touchpanel_Circuit_Short_To_Gnd;
		Type_uByte  Display_CSD_Touchpanel_Module_Error;
		Type_uByte  Display_CSD_Backlight_Circuit_Short_To_Gnd;
		Type_uByte  Display_CSD_Backlight_Circuit_Open;
		Type_uByte  Display_CSD_Backlight_Circuit_Error;
		Type_uByte  Display_CSD_Local_Signal_Error_When_First_Ign;
		Type_uByte  Display_CSD_Backlight_Signal_Lost_When_First_Ign;
		Type_uByte  Display_CSD_Fog_Module_Vol_Supply_Error;
		Type_uByte	Display_ABN_Power_Off_Det;
		Type_uByte	Display_Otp_Reload_Fall;
		Type_uByte	Display_Flash_Reload_Err;
		Type_uByte	Display_WDT_Err;
		Type_uByte	Display_Lvds_ABN;
		Type_uByte	Display_Overheat;
		Type_uByte	Display_PMIC;
		Type_uByte	rsv;
	}B;
}st_avs_Mix_type;

typedef struct   //5.21
{
	st_avs_Mix_type avs_Mix;
}st_Mix_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte	DisplayLight;
		Type_uByte	Resvd[3];
	}B;
}st_avs_DisplayLight_type;

typedef struct   //5.21
{
	st_avs_DisplayLight_type avs_DisplayLight;
}st_DisplayLight_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte	AMP_FR;
		Type_uByte	AMP_RR;
		Type_uByte	AMP_FL;
		Type_uByte	AMP_RL;
	}B;
}st_avs_AMPDTC_type;

typedef struct   //5.21
{
	st_avs_AMPDTC_type avs_AMPDTC;
}st_AMPDTC_type;

typedef union
{
	Type_uByte R[4];
	struct
	{
		Type_uByte	data[4];
	}B;
}st_avs_DiagComm_type;

typedef struct   //5.21
{
	st_avs_DiagComm_type avs_AvasSts;
}st_AvasCalibrate_type;

typedef struct   //5.21
{
	st_avs_DiagComm_type avs_MicSts;
}st_MicCalibrate_type;

typedef union
{
	Type_uByte R[8];
	struct
	{
		Type_uByte	AVM_Front;
		Type_uByte	AVM_Left;
		Type_uByte	AVM_Right;
		Type_uByte	AVM_Rear;
		Type_uByte	AVM_Cal;
		Type_uByte 	AVM_cal_state[2];
		Type_uByte	Resvd;
	}B;
}st_avs_AVM_Info_type;

typedef struct   //5.21
{
	st_avs_AVM_Info_type avs_AVM_Info;
}st_AVM_Info_type;

typedef struct   //Chapter-5
{
#if 0
	st_BusStatus_type       BusStatus;
	st_AntenaSts_type       AntenaSts;
	st_MicrSts_type         MicrSts;
	st_SpeakerSts_type      SpeakerSts;
	st_UsbSts_type          UsbSts;
	st_RadioInfo_type       RadioInfo;
	st_DiskInfo_type        DiskInfo;
	st_BtMacInfo_type       BtMacInfo;
	st_SwcCtrlSts_type      SwcCtrlSts;
	st_WtdSts_type          WtdSts;
	st_BtNameInfo_type      BtNameInfo;
	st_ILLValue_type        ILLValue;
	st_RadioSignalStr_type  RadioSignalStr;
	st_CarNetLinkStr_type   CarNetLinkStr;
	st_AudioSet_type        AudioSet;
	st_WifiName_type        WifiName;
	st_WifiMacAddr_type     WifiMacAddr;
	st_SysDate_type         SysDate;
	st_GNSSLocInfo_type     GNSSLocInfo;
	st_GNSSLocPara_type     GNSSLocPara;
	st_AudioInfo_type       AudioInfo;
#endif
	st_UsbSts_type          UsbSts;

	st_Mix_type       		Mix;	
	st_DisplayLight_type	DisplayLight;
	st_AVM_Info_type		AVM_Info;
	st_AMPDTC_type			AMPDTC;
	st_AvasCalibrate_type	AvasCalibrate;
	st_MicCalibrate_type	MicCalibrate;
}st_DiagInfo_type;
/*************************************ATE Structure*****************************************/


/********************************ATE STRUCTURE*******************************/
typedef  struct
{
	Type_uByte  FactoryMode;
	Type_uByte  resv[3];
}st_vas_Factory_Mode_type;

typedef  struct
{
	Type_uByte  GeneralCmd[20];
}st_avs_Rd_General_Command_type;

typedef  struct
{
	Type_uByte  GeneralCmd[20];
}st_vas_Wr_General_Command_type;

typedef  struct
{
	Type_uByte  ClearFlashCmd;
	Type_uByte  resv[3];
}st_avs_Clear_Flash_type;

typedef  struct
{
	Type_uByte  LanguageMode;
	Type_uByte  resv[3];
}st_avs_Rd_LanguageMode_type;

typedef  struct
{
	Type_uByte  LanguageMode;
	Type_uByte  resv[3];
}st_vas_Wr_LanguageMode_type;


typedef  struct
{
	Type_uByte  PictResolution;
	Type_uByte  Root_YY;
	Type_uByte  Name_ZZ;
	Type_uByte  resv;
}st_avs_Rd_Show_Picture_type;

typedef  struct
{
	Type_uByte  PictResolution;
	Type_uByte  Root_YY;
	Type_uByte  Name_ZZ;
	Type_uByte  resv;
}st_vas_Rd_Show_Picture_type;

typedef  struct
{
	Type_uByte  FactLcdSt;
	Type_uByte  resv[3];
}st_avs_Rd_LCD_Status_type;

typedef  struct
{
	Type_uByte  FactLcdSt;
	Type_uByte  resv[3];
}st_vas_Rd_LCD_Status_type;

typedef  struct
{
    Type_uByte  VersionInfo[8];
}st_avs_RdVersion_type;


typedef  struct
{
	Type_uByte  InqueryType;
	Type_uByte  resv[3];
}st_vas_Wr_Version_type;

typedef  struct
{
	Type_uByte  WifiSetSts;
	Type_uByte  resv[3];
}st_avs_Rd_Wifi_Set_type;

typedef  struct
{
	Type_uByte  WifiSetCmd;
	Type_uByte  resv[3];
}st_vas_Wr_Wifi_Set_type;

typedef  struct
{
	Type_uByte  WifiNum;
	Type_uByte  WifiIntensity;
	Type_uByte  resv[2];
}st_avs_Fact_Wifi_type;


typedef  struct
{
	Type_uByte  WifiHostpotSts;
	Type_uByte  resv[3];
}st_avs_Rd_Wifi_Hostpot_type;


typedef  struct
{
	Type_uByte  WifiHostpotCmd;
	Type_uByte  resv[3];
} st_vas_Wr_Wifi_Hostpot_type;

typedef  struct
{
    Type_uByte WifiPairSts;
	Type_uByte Resvd[3];
}st_avs_WifiPair_type;

typedef struct
{
	Type_uByte Resvd[4];
}st_vas_WifiPair_type;

typedef  struct
{
	Type_uByte  _4gResetSts;
	Type_uByte  resv[3];
}st_avs_Rd_4gReset_type;

typedef  struct
{
	Type_uByte  _4gResetCmd;
	Type_uByte  resv[3];
}st_vas_Wr_4gReset_type;

typedef  struct
{
	Type_uByte  _4GIntensity;
	Type_uByte  resv[3];
}st_avs_Fact_4gIntensity_type;

typedef  struct
{
	Type_uByte  _4gCallStatus;
	Type_uByte  _4gNetStatus;
	Type_uByte  resv[2];
}st_avs_Fact_4gDiag_type;


typedef  struct
{
	Type_uByte  RadioWaveBand;
	Type_uByte  RadioFreqL;
	Type_uByte  RadioFreqH;
	Type_uByte  resv;
}st_avs_Rd_Radio_type;

typedef  struct
{
	Type_uByte  RadioWaveBand;
	Type_uByte  RadioFreqL;
	Type_uByte  RadioFreqH;
	Type_uByte  resv;
}st_avs_Wr_Radio_type;


typedef  struct
{
	Type_uByte  RadioWaveBand;
	Type_uByte  RadioFreqL;
	Type_uByte  RadioFreqH;
	Type_uByte  resv;
} st_avs_Rd_RadioSeek_type;

typedef  struct
{
	Type_uByte  RadioSeekCmd;
	Type_uByte  resv[3];
}st_vas_Wr_RadioSeek_type;


typedef  struct
{
	Type_uByte  RadioWaveBand;
	Type_uByte  RadioFreqL;
	Type_uByte  RadioFreqH;
	Type_uByte  resv;
}st_avs_Rd_RadioManual_type;

typedef  struct
{
	Type_uByte  RadioManualCmd;
	Type_uByte  resv[3];
}st_vas_Wr_RadioManual_type;

typedef  struct
{
	Type_uByte  MediaSource;
	Type_uByte  resv[3];
}st_avs_Rd_Media_type;

typedef  struct
{
	Type_uByte  MediaSource;
	Type_uByte  resv[3];
}st_vas_Wr_Media_type;


typedef  struct
{
	Type_uByte  MediaPlayIndexL;
	Type_uByte  MediaPlayIndexH;
	Type_uByte  resv[2];
}st_avs_Rd_Media_Seek_type;

typedef  struct
{
	Type_uByte  MediaSeek;
	Type_uByte  resv[3];
}st_vas_Wr_Media_Seek_type;

typedef  struct
{
	Type_uByte  MediaPauseSts;
	Type_uByte  resv[3];
}st_avs_Rd_Media_Pause_type;

typedef  struct
{
    Type_uByte  MediaPauseCmd;
    Type_uByte  resv[3];
}st_vas_Rd_Media_Pause_type;


typedef  struct
{
	Type_uByte  BtSwitchSts;
	Type_uByte  resv[3];
}st_avs_Rd_BtSwitch_type;

typedef  struct
{
	Type_uByte  BtSwitchCmd;
	Type_uByte  resv[3];
}st_vas_Wr_BtSwitch_type;


typedef  struct
{
	Type_uByte  BtPageSts;
	Type_uByte  resv[3];
}st_avs_Rd_BtEnterPage_type;

typedef  struct
{
	Type_uByte  BtPageCmd;
	Type_uByte  resv[3];
}st_vas_Wr_BtEnterPage_type;


typedef  struct
{
	Type_uByte  BtMacAddr[6];
	Type_uByte  resv[2];
}st_avs_Fact_BtMacAddr_type;

typedef  struct
{
	Type_uByte  BtPassWord[8];
}st_avs_Rd_BtPassWord_type;

typedef  struct
{
    Type_uByte  BtPassWord[8];
}st_vas_Wr_BtPassWord_type;

typedef  struct
{
	Type_uByte  CallSts;
	Type_uByte  resv[3];
} st_avs_Rd_CallSts_type;


typedef  struct
{
	Type_uByte  CallCmd;
	Type_uByte  resv[3];
} st_vas_Wr_Call_type;


typedef  struct
{
	Type_uByte  CallSts;
	Type_uByte  resv[3];
}st_avs_Rd_PhoneNumCallSts_type;

typedef  struct
{
	Type_uByte  CallNum[11];
	Type_uByte  resv;
} st_vas_Wr_PhoneNumCall_type;


typedef  struct
{
	Type_uByte  VolumeType;
	Type_uByte  VolumeVal;
	Type_uByte  resv[2];
}st_avs_Rd_BtVolume_type;


typedef  struct
{
	Type_uByte  VolumeType;
	Type_uByte  VolumeVal;
	Type_uByte  resv[2];
}st_vas_Wr_BtVolume_type;

typedef  struct
{
	Type_uByte  BtLinkSts;
	Type_uByte  BtMacAddress[6];
	Type_uByte  resv[1];
}st_avs_Factory_BtLink_type;


typedef  struct
{
Type_uByte  BtSearchPair;
Type_uByte  resv[3];
} Rd_BtPair_type;

typedef  struct
{
Type_uByte  BtSearchPair;
Type_uByte  resv[3];
} Wr_BtPair_type;

typedef  struct
{
	Type_uByte  BtVisible;
	Type_uByte  resv[3];
} st_vas_Wr_BtVisible_type;

typedef  struct
{
	Type_uByte  BtVisibleSts;
	Type_uByte  BtSetNameSts;
	Type_uByte  resv[2];
}st_avs_Rd_BtName_type;


typedef  struct
{
	Type_uByte  BtVisibleCmd;
	Type_uByte  BtSetName[10];
	Type_uByte  resv[1];
}st_vas_Wr_BtName_type;


typedef  struct
{
	Type_uByte  AutoConnectAddress[6];
	Type_uByte  resv[2];
}st_avs_Rd_BtAutoAddr_type;

typedef  struct
{
	Type_uByte  AutoConnectAddress[6];
	Type_uByte  resv[2];
}st_vas_Wr_BtAutoAddr_type;

typedef  struct
{
	Type_uByte  FrameIndex;
	Type_uByte  GpsInfo[27];
}st_avs_Rd_GpsInfo_type;


typedef  struct
{
	Type_uByte  GpsInfoType;
	Type_uByte  resv[3];
}st_vas_Wr_GpsInfo_type;


typedef  struct
{
	Type_uByte  SatelliteSerial;
	Type_uByte  SatelliteQuality ;
} SatelliteInfo_type;

typedef struct
{
	SatelliteInfo_type sateInfo[12];
}st_avs_SateInfo_type;

typedef  struct
{
	Type_uByte  NaviPageSts;
	Type_uByte  resv[3];
}st_avs_Rd_NaviPage_type;

typedef  struct
{
	Type_uByte  NaviPageType;
	Type_uByte  resv[3];
} st_vas_Wr_NaviPage_type;

typedef  struct
{
	Type_uByte  NaviSimulateSts;
	Type_uByte  resv[3];
}st_avs_Rd_NaviSimulate_type;


typedef  struct
{
	Type_uByte  NaviSimulateCmd;
	Type_uByte  resv[3];
}st_vas_Wr_NaviSimulate_type;


typedef  struct
{
	Type_uByte  NaviVolumeSts;
	Type_uByte  resv[3];
}st_avs_Rd_NaviVolume_type;

typedef  struct
{
	Type_uByte  NaviVolumeCmd;
	Type_uByte  resv[3];
}st_vas_Wr_NaviVolume_type;


typedef  struct
{
	Type_uByte  NaviActiveSts;
	Type_uByte  resv[3];
}st_avs_Rd_NaviActive_type;


typedef  struct
{
	Type_uByte  PitchType;
	Type_uByte  PitchVal;
	Type_uByte  resv[2];
}st_vas_Rd_VoiceRange_type;

typedef  struct
{
	Type_uByte  PitchType;
	Type_uByte  PitchVal;
	Type_uByte  resv[2];
}st_vas_Wr_VoiceRange_type;


typedef  struct
{
	Type_uByte  BanlanceType;
	Type_uByte  BanlanceVal;
	Type_uByte  resv[2];
}st_avs_Rd_BanlanceValue_type;

typedef  struct
{
	Type_uByte  BanlanceType;
	Type_uByte  BalanceVal;
	Type_uByte  resv[2];
}st_vas_Wr_SoundBalance_type;


typedef  struct
{
	Type_uByte  VoiceMuteSts;
	Type_uByte  resv[3];
}st_avs_Rd_VoiceMute_type;

typedef  struct
{
	Type_uByte  VoiceMuteCmd;
	Type_uByte  resv[3];
}st_vas_Wr_VoiceMute_type;


typedef  struct
{
	Type_uByte  VolumeType;
	Type_uByte  VolumeValue;
	Type_uByte  resv[2];
}st_avs_Rd_VolumeValue_type;


typedef  struct
{
	Type_uByte  VolumeType;
	Type_uByte  VolumeValue;
	Type_uByte  resv[2];
}st_vas_Wr_VolumeValue_type;

typedef  struct
{
	Type_uByte  HighPitchVal;
	Type_uByte  MidPitchVal;
	Type_uByte  LowPitchVal;
	Type_uByte  LefRightBalanceVal;
	Type_uByte  FrontRearBalanceVal;
	Type_uByte  resv[3];
}st_avs_Rd_VoiceDefault_type;



typedef  struct
{
	Type_uByte  VoiceDefaultCmd;
	Type_uByte  resv[3];
}st_vas_Wr_VoiceDefault_type;

typedef  struct
{
	Type_uByte  RecordPlaySts;
	Type_uByte  resv[3];
}st_avs_Rd_RecordPlay_type;


typedef  struct
{
	Type_uByte  RecordPlayCmd;
	Type_uByte  resv[3];
}st_vas_Wr_RecordPlay_type;


typedef  struct
{
	Type_uByte  FacePlateVal;
	Type_uByte  resv[3];
}st_avs_Rd_FacePlate_type;

typedef  struct
{
	Type_uByte  FacePlateCmd;
	Type_uByte  resv[3];
}st_vas_Wr_FacePlate_type;



typedef  struct
{
	Type_uByte  CarType;
	Type_uByte  CarPhoneCmd;
	Type_uByte  resv[2];
}st_avs_Rd_PhoneLink_type;


typedef  struct
{
	Type_uByte  CarType;
	Type_uByte  CarPhoneCmd;
	Type_uByte  resv[2];
}st_vas_Wr_PhoneLink_type;

typedef  struct
{
	Type_uByte  ModeCmdType;
	Type_uByte  resv[3];
}st_avs_Rd_VideoMode_type;

typedef  struct
{
	Type_uByte  ModeCmdType;
	Type_uByte  resv[3];
}st_vas_Wr_VideoMode_type;


typedef  struct
{
	Type_uByte  VoiceTestCase;
	Type_uByte  resv[3];
}st_avs_Rd_VioceRecognition_type;

typedef  struct
{
	Type_uByte  VoiceTestCase;
	Type_uByte  resv[3];
}st_vas_Wr_VioceRecognition_type;




typedef  struct
{
	Type_uByte  IpodAuthId[28];
}st_avs_Rd_IpodAuthId_type;


typedef  struct
{
	Type_uByte  Angular_Rate_LSB;
	Type_uByte  Angular_Rate_MSB;
	Type_uByte  X_LSB;
	Type_uByte  X_MSB;
	Type_uByte  Y_LSB;
	Type_uByte  Y_MSB;
	Type_uByte  Z_LSB;
	Type_uByte  Z_MSB;
}st_avs_Rd_3DACC_type;

typedef  struct
{
	Type_uByte  NaviUpdateSts;
	Type_uByte  resv[3];
}st_avs_Rd_NaviUpdate_type;


typedef  struct
{
	Type_uByte  NaviUpdateCmd;
	Type_uByte  NaviUpdateFolder;
	Type_uByte  resv[2];
}st_vas_Wr_NaviUpdate_type;

typedef  struct
{
	Type_uByte  DvrVersionSts;
	Type_uByte  DvrVersion [27];
}st_avs_Rd_DvrVersion_type;

typedef  struct
{
	Type_uByte  DvrVersionCmd;
	Type_uByte  resv[3];
}st_vas_Wr_DvrVersion_type;

typedef  struct
{
	Type_uByte  TrackType;
	Type_uByte  FileRootNum;
	Type_uByte  TrackNumL;
	Type_uByte  TrackNumH;
} st_vas_Rd_PlayTrack_type;


typedef  struct
{
	Type_uByte  TrackType;
	Type_uByte  FileRootNum;
	Type_uByte  TrackNumL;
	Type_uByte  TrackNumH;
} st_vas_Wr_PlayTrack_type; 


typedef  struct
{
	Type_uByte  ReverseSts;
	Type_uByte  resv [3];
}st_asv_Resp_ReverseSts_type;


typedef  struct
{
	Type_uByte  FactoryResetSts;
	Type_uByte  resv [3];
}st_avs_Rd_FactoryReset_type;


typedef  struct
{
	Type_uByte  VideoPlayRoot;
	Type_uByte  VideoPlayNameL;
	Type_uByte  VideoPlayNameH;
	Type_uByte  resv [1];
}st_avs_Rd_VideoPlay_type;

typedef  struct
{
	Type_uByte  VideoPlayRoot;
	Type_uByte  VideoPlayNameL;
	Type_uByte  VideoPlayNameH;
	Type_uByte  resv [1];
}st_vas_Wr_VideoPlay_type;

typedef  struct
{
	Type_uByte  CheckCmdType ;
	Type_uByte  CheckStatus;
	Type_uByte  resv[2];
}st_avs_Rd_GpsSysChk_type;

typedef  struct
{
	Type_uByte  CheckCmdType;
	Type_uByte  resv [3];
}st_vas_Wr_GpsSysChk_type;


typedef  struct
{
	Type_uByte  GyreChipId[4];
}st_avs_Resp_GyreId_type;

typedef  struct
{
	Type_uByte  LogCmdType;
	Type_uByte  OperLogSts;
	Type_uByte  resv [2];
}st_avs_Resp_OperateLog_type;

typedef  struct
{
	Type_uByte  LogCmdType;
	Type_uByte  resv [3];
}st_vas_Wr_OperateLog_type;

typedef  struct
{
	Type_uByte  ReturnHomeSts;
	Type_uByte  resv [3];
}st_avs_Resp_ReturnHome_type;


typedef  struct
{
	Type_uByte  ProctRdWrType ;
	Type_uByte  TestResult;
	Type_uByte  resv [2];
}st_avs_Rd_ProtoTest_type;

typedef  struct
{
	Type_uByte  ProctRdWrType;
	Type_uByte  resv [3];
}st_vas_Wr_ProtoTest_type;

typedef  struct
{
	Type_uByte  AudioChanlSts;
	Type_uByte  resv[3];
}st_avs_Rd_AudioChannel_type;

typedef  struct
{
	Type_uByte  AudioChanlType;
	Type_uByte  resv[3];
}st_vas_Wr_AudioChannel_type;

typedef  struct
{
	Type_uByte  TestResult;
	Type_uByte  resv[3];
}st_avs_Rd_NonSignal_type;


typedef  struct
{
	Type_uByte  TestSerial;
	Type_uByte  TestPara[4];
	Type_uByte  resv[3];
}st_vas_Wr_NonSignal_type;


typedef  struct
{
	Type_uByte  TpTest;
	Type_uByte  resv[3];
} st_avs_Rd_Tp_Test_type;

typedef  struct
{
	Type_uByte  TpTest;
	Type_uByte  resv[3];
} st_vas_Wr_Tp_Test_type;

typedef  struct
{
	Type_uByte  ScreenBright;
	Type_uByte  resv[3];
}st_avs_Rd_Screen_Bright_type;


typedef  struct
{
	Type_uByte  ScreenBright;
	Type_uByte  resv[3];
}st_vas_Wr_Screen_Bright_type;


typedef  struct
{
	Type_uByte  Sound3DSts;
	Type_uByte  resv[3];
} st_avs_Rd_3dSound_type;

typedef  struct
{
	Type_uByte  Sound3DSts;
	Type_uByte  resv[3];
}st_vas_Wr_3dSound_type;

typedef  struct
{
	Type_uByte  TboxAudioSts;
	Type_uByte  resv[3];
} st_avs_Rd_Tbox_Audio_Sts_type;

typedef  struct
{
	Type_uByte  TboxAudioSts;
	Type_uByte  resv[3];
} st_vas_Wr_Tbox_Audio_Sts_type;

typedef  struct
{
	Type_uByte  ClearBtRecord;
	Type_uByte  resv[3];
} st_vas_Wr_Bt_Record_type;


typedef  struct
{
	Type_uByte  ClearBtRecord;
	Type_uByte  resv[3];
}st_avs_Rd_Bt_Record_type;

typedef  struct
{
Type_uByte   ImportTpye;
Type_uByte  resv[3];
}Rd_ImportTpye_type;

typedef  struct
{
Type_uByte   UserManual ;
Type_uByte  resv [3];
}Wr_UserManual_type;

typedef  struct
{
Type_uByte  CheckCmdType ;
Type_uByte  CheckMD5_1;
Type_uByte  CheckMD5_2;
Type_uByte  CheckMD5_3;
Type_uByte  CheckMD5_4;
Type_uByte  CheckMD5_5;
Type_uByte  CheckMD5_6;
Type_uByte  CheckMD5_7;
Type_uByte  CheckMD5_8;
Type_uByte  CheckMD5_9;
Type_uByte  CheckMD5_10;
Type_uByte  CheckMD5_11;
Type_uByte  CheckMD5_12;
Type_uByte  CheckMD5_13;
Type_uByte  CheckMD5_14;
Type_uByte  CheckMD5_15;
Type_uByte  CheckMD5_16;
Type_uByte  CheckMD5_17;
Type_uByte  CheckMD5_18;
Type_uByte  CheckMD5_19;
Type_uByte  CheckMD5_20;
Type_uByte  CheckMD5_21;
Type_uByte  CheckMD5_22;
Type_uByte  CheckMD5_23;
Type_uByte  CheckMD5_24;
Type_uByte  CheckMD5_25;
Type_uByte  CheckMD5_26;
Type_uByte  CheckMD5_27;
Type_uByte  CheckMD5_28;
Type_uByte  CheckMD5_29;
Type_uByte  CheckMD5_30;
Type_uByte  CheckMD5_31;
Type_uByte  CheckMD5_32;
Type_uByte  resv [3];
}Rd_User_Manual_MD5_type;

typedef  struct
{
Type_uByte  CheckCmdType;
Type_uByte  user_manual_name1;
Type_uByte  user_manual_name2;
Type_uByte  user_manual_name3;
}Wr_User_Manual_MD5_type;

typedef  struct
{
	Type_uByte  send_data[54];
	Type_uByte  send_length;
	Type_uByte  rec_data[60];
	Type_uByte  rec_length;
}st_ATE_Info_type;

/*****************************************************************************
* Imported Global Variables *
*****************************************************************************/

/*****************************************************************************
* Global Variables *
*****************************************************************************/
extern st_vb_alc0_type vb_Data;
extern st_MmiInfo_alc0_type mmi_Data;
/*****************************************************************************
* Prototypes Of Static Functions *
*****************************************************************************/




/*****************************************************************************
* Prototypes Of Global Functions *
*****************************************************************************/
extern void test_debug();

/*****************************************************************************
* Interrupt Vectors *
*****************************************************************************/

#endif


